DLL

hubbapubba

Miten dev-cpp:llä saa tehtyä dll, mikä lukee näytön pixelien väriarvot ja antaa ne ulos 2-ulotteisena taulukkona? Ymmärtääkseni paras tapa olisi käyttää GetDC-funktiota printscreen kikkailun sijasta http://msdn.microsoft.com/en-us/library/dd144871(VS.85).aspx
Sekin että dev-cpp vääntää jonkun luurangon pohjaksi, mistä en oikeen ymmärä mihin sitä varsinaista koodia pitäisi edes korjoittaa... uusi projekti antaa dll.h ja dllmain.cpp missä lukee:

(dllmain.cpp)

/* Replace "dll.h" with the name of your header */
#include "dll.h"
#include

DllClass::DllClass()
{
}

DllClass::~DllClass ()
{
}

BOOL APIENTRY DllMain (HINSTANCE hInst /* Library instance handle. */ ,
DWORD reason /* Reason this function is being called. */ ,
LPVOID reserved /* Not used. */ )
{
switch (reason)
{
case DLL_PROCESS_ATTACH:
break;

case DLL_PROCESS_DETACH:
break;

case DLL_THREAD_ATTACH:
break;

case DLL_THREAD_DETACH:
break;
}

/* Returns TRUE on success, FALSE on failure */
return TRUE;
}
_________________________________________________________________________________________________
(dll.h)

#ifndef _DLL_H_
#define _DLL_H_

#if BUILDING_DLL
# define DLLIMPORT __declspec (dllexport)
#else /* Not BUILDING_DLL */
# define DLLIMPORT __declspec (dllimport)
#endif /* Not BUILDING_DLL */

class DLLIMPORT DllClass
{
public:
DllClass();
virtual ~DllClass(void);

private:
};

#endif /* _DLL_H_ */

7

488

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • lohityyne?

      valmiita botteja sen verran, ettei tarvi itse tollaista kyhätä?

      • hubbapubba

        mutta se tarkoittaa sitä että se on julkisessa levityksessä ja helposti tunnistettavissa, enkä maksaakaan haluaisi, eli teen itte.


      • Ylivuoto tulee!
        hubbapubba kirjoitti:

        mutta se tarkoittaa sitä että se on julkisessa levityksessä ja helposti tunnistettavissa, enkä maksaakaan haluaisi, eli teen itte.

        Niin mut sit se pitäs viä ruiskuttaa sinne


      • ljgfioöhj
        Ylivuoto tulee! kirjoitti:

        Niin mut sit se pitäs viä ruiskuttaa sinne

        Miten injectointi liittyy tämän keskustelun kysymykseen?


      • Aika selvääää!
        ljgfioöhj kirjoitti:

        Miten injectointi liittyy tämän keskustelun kysymykseen?

        Siten, että tosi typerää tehdä jotai ohjelmii, jos ei edes tiä miten ja mihin niit vois niinkö käyttää. Häh?


      • hubbapubba
        Aika selvääää! kirjoitti:

        Siten, että tosi typerää tehdä jotai ohjelmii, jos ei edes tiä miten ja mihin niit vois niinkö käyttää. Häh?

        Ei taida sulla olla kaikki kotona...Jos ja kun et tunnu tietävän mihin dll on tarkoitettu tai mihin sitä voi käyttää, niin selvitäppä se ensin ja lukaseppas tämän ketjun ensimmäinen viesti uudestaan, niin saatat ehkä ymmärtää miksi näin.

        Dll:n lyhyt ja ytimekäs kuvailu löytyy täältä http://www.ohjelmointiputka.net/opas.php?tunnus=vbdll#johdanto ja toi VB ei liity keskusteluun mitenkään vaikka onkin sen aihealuella.


    • FireOfFeenix

      Oikeasti. Temppu ei ole kovin vaikea. Se vaatii kuitenkin sen verran paljon selitystä, että sitä ei jaksa tällaiseen keskusteluosioon kirjoittaa. Mutta ideana on kirjoittaa tuohon dll-runkoon funktio, jonka tietenkin kuvaat omassa dll.h tiedostossasi, kuten ylälaidassa sanotaan. Tuon function sisään toteutat graafisen operaation. Ja pääohjelmassasi kutsut sitten tuota metoodia. Yksinkertaista?

      Tietenkin sinun on osattava exen puolella kutsua dll-functiota.
      eli esimerkiksi näin tuon runkon pohjalta

      BOOL APIENTRY OmaGraafinenFunctio()
      {
      //todo tähän vain ohjauskoodi sisään.
      }

      Mutta koska grafiikan käsittely on hieman vaikeampaa kuin dll:n kutsuminen, niin neuvon ensin opiskelemaan dll:n hallinnan kunnolla ja vasta sitten mietiimään tuota BitGbl operaatiota. Ehkäpä DirectX tutustuminen voisi auttaa. Tosin itse olen sitä mieltä että itse tehtynä 3D rajapintakin on tehokaampi kuin mirosoftin kirjastojen.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Kristillinen kaste annetaa upotuskasteena

      Kristillinen upotuskaste perustuu juutalaiseen mikve-kasteeseen, jossa upottaudutaan veden alle kokonaan. Paavali vertas
      Kaste
      162
      1117
    2. Koko kansan kaste Punaisen meren ylityksen aikana

      Koko Israelin 2,5 milj.kansa sai kasteen ja Pyhän Hengen lahjan ylittäessän Punaisen meren. 1.Kor.10 1 Sillä minä en ta
      Kaste
      366
      1077
    3. Ehkä vähän

      Rakastunut sinuun
      Ikävä
      47
      1012
    4. Sijaiskasteet kuolleitten puolesta

      Paavali teki Korintossa sijaiskasteita kuolletten puolesta eli ns. Mormoninkasteita. 1. Kor. 15:29 Mitä muutoin ne, j
      Kaste
      373
      999
    5. Kristillinen kaste toimitetaan upottamalla veteen - pään valelukaste ei kelpaa

      Kristillinen upotuskaste perustuu juutalaiseen puhdistautumiseen, jossa upottaudutaan veden alle kokonaan. Paavali verta
      Kaste
      153
      902
    6. Upotuskaste on raamatullisin kaste

      Jokainen raamattua lukenut tietää sen. Päivänselvä asia. Vauvalle annettu kaste ei löydy raamatusta.
      Kaste
      717
      837
    7. Et taida paljoa

      treffeillä käydä? 😆 mieheltä Naiselle
      Ikävä
      88
      812
    8. Martina ja jalkapalloilija2

      Seiska: Martina iski nuoren jalkapalloilijan vuosia sitten. Könysikö milf teinin kanssa?
      Kotimaiset julkkisjuorut
      182
      790
    9. Nainen, nyt esitän muutaman skenaarion

      Asumme yhdessä ja seurustelemme. 1. On ilta ja olet sohvalla makoilemassa ja räpläät kännykkääsi. Makuuhuoneesta kuulu
      Ikävä
      105
      699
    10. Oikea kaste on syntisten kaste

      Oikea kaste on syntisten kaste. Vain syntisiä tulee kastaa. Itsensä uskoviksi ja vanhurskaiksi julistaneita ei tule ka
      Kaste
      49
      697
    Aihe