我試圖在* .dll文件的幫助下啓動* .exe文件,而不是調用*。 exe文件直接。它將用於能夠啓動* .dll文件但不能* .exe文件的程序。通過* .dll文件調用* .exe文件並提交參數
在這種情況下:browser.exe是用vb.NET和C++編寫的browser.dll文件(我找不到vb.NET的任何dll代碼片段)。
的代碼段爲已由VS2008生成和我已經修改一點點BROWSER.DLL(MFC-DLL)如下所示:
[...]
CBrowserStartApp::CBrowserStartApp()
{
system("start .\\browser.exe");
}
CBrowserStartApp theApp;
BOOL CBrowserStartApp::InitInstance()
{
CWinApp::InitInstance();
system("start .\\browser.exe");
return TRUE;
}
我可以編譯它沒有錯誤。
有趣的是,如果我用Rundll32.exe啓動dll並添加任何參數,就會出現錯誤消息。然後程序啓動,但錯誤信息仍然存在。如果我以「Rundll32.exe browser.dll v
」開頭,它會說「Error in browser.dll. Missing Content v
」。如果我省略參數「v」,則什麼都不會發生。無論是出現錯誤還是實際的應用程序。我在這裏做錯了什麼?
我的下一個問題如下:通常,我使用諸如URL之類的參數(例如「browser.exe http://www.google.com
」)來啓動* .exe-File。如何將這些URL添加到* .dll文件?與通常的程序相同的技巧(例如args = Environment.GetCommandLineArgs()
)?我如何訪問它們並將它們轉發到實際的* .exe文件呢?
THX, 馬庫斯G.