我有一個啓動另一個應用程序的啓動程序。對於其他應用可以很好地與Windows 7的任務欄配合使用,我必須設置Application User Model ID。設置應用程序其他進程的用戶模型ID
通常一個進程必須通過調用SetCurrentProcessExplicitAppUserModelID()來設置它自己的id,但在這種特殊情況下我沒有控制其他應用程序的啓動代碼,所以我必須在外部設置它,最好是通過使用某種ShellExecute將ID傳遞給應用程序。
這可能嗎?
我有一個啓動另一個應用程序的啓動程序。對於其他應用可以很好地與Windows 7的任務欄配合使用,我必須設置Application User Model ID。設置應用程序其他進程的用戶模型ID
通常一個進程必須通過調用SetCurrentProcessExplicitAppUserModelID()來設置它自己的id,但在這種特殊情況下我沒有控制其他應用程序的啓動代碼,所以我必須在外部設置它,最好是通過使用某種ShellExecute將ID傳遞給應用程序。
這可能嗎?
如果Windows沒有調用SetCurrentProcessExplicitAppUserModelID,它將自動爲進程生成一個id,這對於最近的文件jumplist部分應該足夠了。
如果出於某種原因真的要爲第三方應用程序的特定ID,我會嘗試的其中之一(我還沒有嘗試過任何這些建議)
第二個選項聽起來很合理! – Daniel 2011-02-28 14:46:18
@Daniel:我還是不明白你爲什麼要這麼做... – Anders 2011-02-28 15:03:18
Okey,剛剛嘗試過,第二個選項也有缺點。問題是:我有一個從啓動器啓動的Java應用程序,它檢查更新。 Java應用程序使用Exe4J進行編譯,該程序本身顯示一個閃屏,這會在任務欄中顯示一個圖標。在顯示啓動屏幕時,我在任務欄中有兩個圖標,因爲Java應用程序不會從父進程繼承應用程序ID,並且來自Java應用程序本身的應用程序ID太晚,因爲啓動屏幕顯示有意在jvm加載之前。 – Daniel 2011-02-28 16:21:52
爲什麼這個其他應用程序需要一個明確的ID? – Anders 2011-02-28 14:26:55