我有一個已被其他答案部分覆蓋的情況,但我找不到完整的答案。簡而言之,我們試圖將URL用於我們特定的數據類型,當雙擊時會打開我們的應用程序並將這些數據集加載到該應用程序中。我們有這部分工作。如何在不打開應用程序的新實例的情況下在運行應用程序中打開新文檔?
(例如,URL可能看起來像這樣:資源://shaders/basic_shader.hlsl)
我們想這樣做是爲了防止新的應用實例,從開盤時,一個新的URL是雙擊。例如,假設我們有一個在我們的着色器編輯器中打開着色器的URL。當點擊這個資源URL時,它會打開我們的着色器編輯器。點擊新的着色器URL後,我們希望能夠在當前運行的應用程序中打開着色器,並讓它在我們的編輯器的新選項卡中打開新的着色器。
如果我們的應用程序的另一個實例正在運行,我們可以很容易地檢測。我們不知道如何輕鬆解決的問題是如何告訴當前正在運行的應用程序打開這個新文件進行編輯。這種行爲非常像Apple Finder。
在UNIX中,你可以通過讓你的應用程序中打開某些命名管道,然後新的應用程序可以檢查是否這條管道是積極的,然後發送文檔數據向下管模仿這種行爲。是否有一個更標準的窗口方式來實現這種行爲?
我們需要一個C/C++解決方案。謝謝。
你知道URI類型實際上是全局的嗎?聲稱「資源」相當貪婪。 vnd- <你的名字) - 資源:更有意義。此外,避免//對於非層次化的URI – MSalters 2009-01-08 16:19:09