我正在使用vs2005 C++在Windows中開發應用程序,並且希望將文件擴展名關聯到我可以在註冊表設置中執行的應用程序。但是,當我單擊文件時,我想將它與正在運行的應用程序實例關聯,而不是啓動一個新的應用程序。我如何實現這種行爲。將文件類型關聯到正在運行的應用程序
5
A
回答
1
我不能給你一個關於我的頭頂的實現,但看看「進程間通信」(通常如果你在Windows上使用COM)。你可以做的是,當你的程序啓動時,檢查自己的其他副本,如果它找到一個,那麼它會告訴你一個你想要打開的文件,然後關閉它。
我發現了一個實現你:
1
這用於與WinMain函數中的參數進行,但是從msdn
的句柄應用程序的一個實例。該參數始終爲NULL。如果您需要檢測另一個實例是否已經存在,請使用CreateMutex函數創建一個唯一命名的互斥鎖。即使互斥量已經存在,CreateMutex也會成功,但該函數將返回ERROR_ALREADY_EXISTS。這表明應用程序的另一個實例存在,因爲它首先創建了互斥鎖。但是,惡意用戶可以在創建該互斥鎖之前創建該互斥鎖,並阻止應用程序啓動。爲了防止出現這種情況,請創建一個隨機命名的互斥體並存儲名稱,以使其只能由授權用戶獲取。或者,您可以爲此使用文件。要將您的應用程序限制爲每個用戶一個實例,請在用戶的配置文件目錄中創建一個鎖定的文件。
相關問題
- 1. 將文件關聯到應用程序
- 2. 如何將iPhone應用程序與_every_文件類型關聯?
- 3. 在WiX中將文件類型關聯到外部程序
- 4. 關聯的文件類型與iPhone應用程序
- 5. 空氣應用程序的文件類型關聯
- 6. Mono C#Gtk#應用程序Linux文件類型關聯
- 7. 關聯文件類型與Java Swing應用程序
- 8. 將文件關聯到python的程序
- 9. 將圖像文件文檔類型與iPhone應用程序相關聯
- 10. 將文件類型與我的應用程序(pdf和doc)相關聯
- 11. 如何將圖標與iPhone/iPad應用程序的zip文件類型關聯?
- 12. 將類型的文件夾與可可應用程序相關聯
- 13. 確定正在運行的應用程序的類型(.NET)
- 14. 決定設備類型的應用程序正在運行
- 15. 如何將excel文件類型(xlsx)與iPhone應用程序關聯
- 16. 如何將Web應用程序與文件格式或MIME類型相關聯?
- 17. 問題,在我的程序關聯的文件類型
- 18. 文件類型.pl關聯和使用cmd.exe運行腳本
- 19. 應用程序文件關聯
- 20. OSX:將特定文件夾與正在開發的應用程序相關聯
- 21. 獲取與正在運行的應用程序相關聯的圖標
- 22. Windows:更改與文件類型關聯的應用程序的名稱/圖標
- 23. 將Web應用程序部署到正在運行的Tomcat
- 24. 如何將正在運行的應用程序擴展到PCR?
- 25. C#文件類型關聯
- 26. Silverlight文件類型關聯
- 27. 如何運行從終端的Linux文件關聯的應用程序
- 28. 與同一文件類型關聯的多個ClickOnce應用程序
- 29. 將文件添加到運行中的應用程序
- 30. 如何使用WiX安裝程序將應用程序與現有文件類型關聯?
+1。好問題。 – Nawaz 2011-05-12 04:44:48