我需要運行從我的應用程序「創建新任務」的程序,同樣的,你可以從任務管理器中運行。運行「創建新任務」 WINAPI
-2
A
回答
1
有一個CreateProcess()
API。
我建議你看看文檔,here。它將允許您通過名稱加載應用程序,其餘部分由Windows處理。
0
我假設你指的是運行對話框?這段代碼將打開Windows運行對話框。 警告:這會通過序號訪問Windows API,而不是通過名稱訪問。這通常是做未記錄的事情的標誌,可能在未來的Windows版本中可能會或可能不會。
// MS Run dialog
typedef void (__stdcall* lpfnMSRun)(HWND, HICON, LPCSTR, LPCSTR, LPCSTR, int);
static lpfnMSRun MSRun = NULL;
bool DisplayRunDialog()
{
if ((MSRun == NULL) && (emergeLibGlobals::GetShell32DLL()))
{
MSRun = (lpfnMSRun)GetProcAddress(emergeLibGlobals::GetShell32DLL(), (LPCSTR) 61);
}
if (MSRun)
{
MSRun(NULL, NULL, NULL, NULL, NULL, 0);
return true;
}
return false;
}
只是一個關於這對夫妻的筆記 - emergeLibGlobals::GetShell32DLL()
是,在shell32.dll中調用LoadLibrary
並返回其HMODULE的內部方法。您可以直接致電LoadLibrary
。另外,如果你的編譯器支持C++ 11,你可以用nullptr
代替NULL
。
This CodeProject article聲稱有書面的方式做同樣的事情,但我還沒有嘗試過,所以我不能保證它會工作。
相關問題
- 1. 創建運行程序的新任務
- 2. 創建一個完成後運行任務的任務計劃
- 3. WinApi任務查殺
- 4. 重新啓動任務或創建一個新任務?
- 5. 運行JavaScript在WINAPI
- 6. 如何創建一個Rake任務,當任何Rake任務運行時將始終運行?
- 7. 運行任務
- 8. 在運行電源shell腳本的計劃任務中創建計劃任務
- 9. 以不同的用戶運行計劃的任務,它創建的任務
- 10. launchMode =「singleTask」不創建新任務
- 11. Rails的更新和創建任務
- 12. 運行什麼任務來重新創建Dagger 2注入文件
- 13. android,從異步任務中運行的方法類創建/更新視圖
- 14. Gradle:重新運行任務失敗?
- 15. 取消創建新的任務時的所有任務
- 16. 在任務欄上創建新任務的子框架
- 17. 如何創建一個新的任務類型任務?
- 18. 在運行時創建任意Java類
- 19. NSURLSession任務創建
- 20. 在Heroku上運行Grunt構建任務
- 21. 不能運行C++建設任務VSCode
- 22. 創建運行訪問文件的計劃任務
- 23. 創建一個始終運行的後臺任務
- 24. 創建運行CMD的自動Windows任務
- 25. 如何創建總是運行的gradle任務?
- 26. 創建每日任務以運行命令
- 27. 創建每週運行6天的計劃任務
- 28. 創建芹菜任務,然後同步運行
- 29. 在IIS下運行的PHP上創建計劃任務
- 30. 咕嚕創建並運行更少的編譯任務
不,不要這樣做。只要調用ShellExecuteEx如果你想複製該功能。 –
@DavidHeffernan除了這個沒有記錄的事實之外,還有什麼特別的原因嗎?我很好奇,因爲我直接從我維護的代碼庫中提取這些代碼。如果代碼不好,我想知道我可以處理它。 – computerfreaker
你需要另一個原因 –