begin process at 2012 02 11 11:46:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Ecriture d'une dll atl


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Ecriture d'une dll atl

vendredi 4 novembre 2005 à 21:12:28 | Ecriture d'une dll atl

ultraLek

Bonsoir à tous, voila mon problème j'ai actuellement une source c++ 7 qui fonctionne sous forme d'un exécutable appelable en ligne de commande, son but est de se connecter à internet et de récupérer une page puis de l'enregistrer sur disque.
 J'aimerais réécrire cet exe sous la forme d'uns dll com que je pourrais instancier depuis asp, j'ai donc été amené à recréer une dll atl.
Le problème c'est que la dll en question est instanciable mais ne me fournis pas de résultat. Voici la fonction main de l'exécutable :

static const GUID myGUID = { 0x445c10c2, 0xa6d4, 0x40a9, { 0x9c, 0x3f, 0x4e, 0x90, 0x42, 0x1d, 0x7e, 0x83 } };
static CComModule _Modu;

int main (int argc, char *argv[])
{
    if (argc != 3)
    {
        printf("Usage: %s http://www.example.org/ localfile.txt\n", argv[0]);
        return EXIT_FAILURE;
    }
   
    HRESULT hr = _Modu.Init(NULL, ::GetModuleHandle(NULL), &myGUID);

    if (FAILED(hr))
        return EXIT_FAILURE;

    if (!AtlAxWinInit())
        return EXIT_FAILURE;

    CMain MainWnd;

    MainWnd.m_URI = argv[1];
    MainWnd.m_fileName = argv[2];
    RECT rcMain = { 0, 0, 800, 600 };
    MainWnd.Create(NULL, rcMain, _T("Test"), WS_POPUP);

    MSG msg;
    while (GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }

    _Modu.Term();

    return EXIT_SUCCESS;
}

Lors de l'écriture de la dll l'expression : static CComModule _Modu;
provoquais une erreur, j'ai donc réécris une méthode de mon objet ainsi :


STDMETHODIMP CMaClasse::GetURL(BSTR m_URL, BSTR m_filename)
{
    if (!AtlAxWinInit())
        return EXIT_FAILURE;

    CMain MainWnd;

    MainWnd.m_URI = (LPCSTR) "http://www.google.fr";
    MainWnd.m_fileName = (LPCSTR) "c:\test.txt";
  
    RECT rcMain = { 0, 0, 800, 600 };
    MainWnd.Create(NULL, rcMain, _T("Test"), WS_POPUP);

    MSG msg;
   while (GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }

    return S_OK;
}

Cela fait plusieurs jours que je tourne en rond là dessus : le problème provient surement des lignes que j'ai effacées.
Comment faire pour avoir l'équivalent de la déclaration de _Modu et des appels à _Modu.Init() et _Modu;Term() dans ma dll?
Quelqu'un pourrait il m'aider ?
mercredi 9 novembre 2005 à 22:26:00 | Re : Ecriture d'une dll atl

ultraLek

alors personne ne saurait me répondre?


Cette discussion est classée dans : dll, msg, return, mainwnd, modu


Répondre à ce message

Sujets en rapport avec ce message

ressources et API !!!! [ par Xs ] salut !voila, pour me simplifier la tache, j'utlise les ressources pour creer une boite de dialog (sous VC++ 6).mais j'obtiens, lors de la compilation Dll + LoadLibrary [ par Manson ] Salut,voila, j'ai fais une dll dont le code est le suivant :void __declspec(dllexport)show_msg(HWND hWnd, char *msg){ MessageBox(hWnd, msg, "Dll Powa Prob WIN32 [ par AngeloVivaldi ] bonjour, voici un code ke g tapé pour mon apprentissage de la prog Graphique :#include LRESULT CALLBACK WinProc(HWND hWnd, UINT uMsg, WPARAM wParam, L aide moi acompiler ce graph stp [ par temoin ] Bonjour mon erreur est ceci je tout suivi a la lettre je mais les link et je installer le sdk de microsoft qui fait le 200 meg et auusi je mais les li Dll LoadLibrary --> Erreur [ par mortiis ] Bonjour à tous J'ai fait un prog qui devrais utiliser une dll pour faire un test j'ai fait un dll qui me fait afficher un MessageBox.Le problème est q Comment passer une structure contenant un tableau de VB à C ? [ par TomC ] Bonjour à tous.Je cherche à passer une structure de données, contenant un tableau de variant, de VB à C. Voici mon code :coté VB :---------Public Decl returnourner un entier long long [ par dlamalice ] Bonjour,j'ai codé une dll toute bete et j'aimerai que cette dernière me retour un long long (64bit) statique.Mais quand je compile la ligne return ne Fenetre windows en cpp [ par FeelCode ] bon j'essaye de cree une fenetre windows tout simple mai j'ai un probleme de convertion voir le code plus bas.//************************************** injection de dll [ par deck_bsd ] Yop,Voila , je tente de faire une injection de dll dans un processus . Seulement voila , tout devrait bien se dérouler et d'ailleur aparement tout rou Lancement d'un programme via un service [ par laetitiavincent ] Bonjour tout le mondeVoilà mon problème : j'ai fait un petit prog qui, lorsqu'il y a fermeture de session ou de windows, il me lancer une fonction  to


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,232 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales