interprocess

    1熱度

    3回答

    我想從與我的程序無關的窗口「讀取」信息。 如果我有一個進程ID和一個窗口句柄: Process Proc = Process.GetProcessById(ProcID); IntPtr hdl = Proc.MainWindowHandle; 而且我從諜照信息++告訴我,我感興趣的是00000003EA元素,我怎麼能與C#訪問它的控制ID ? 感謝您的幫助! Edit___________

    4熱度

    2回答

    幾乎所有pipe示例我看到關閉未使用的寫入/讀取結束的建議。也有人明確指出,pipe() creates a pipe, a unidirectional data channel但我已經嘗試讀和寫在父母和孩子的管道兩端,一切似乎都沒問題。 所以我的疑問是,爲什麼我們需要2管道,如果兩個進程必須讀取和寫入對方,爲什麼不使用單個管道呢?

    2熱度

    1回答

    我想實現一個方法來檢測是否應用程序的另一個實例已經啓動,並已與修補: 1.共享內存 2.命名互斥 3。命名管道 似乎所有這些都有一個缺陷,即如果「主」應用程序崩潰,「IPC」對象將被掛起使所有將來的應用程序實例認爲有另一個實例處於活動狀態(直到重新啓動) 。理想情況下,我希望有一個對象在進程終止時自動刪除,無論是正常還是崩潰。 想法?

    4熱度

    1回答

    我有一個C++應用程序需要將圖像從網絡攝像頭實時發送到同一臺PC上的C#應用​​程序。 C++代碼不能從C#代碼中調用,所以我需要通過命名管道實現通信才能發送圖像。 我從來沒有做過任何通信編程,我想知道如何解決這個問題。 我的第一個想法是讓C++應用程序在一個單獨的線程上創建命名管道服務器,創建後線程會一直等待,直到圖像可用於發送。此時它會發送圖像。 類似地,C#應用程序將創建一個充當客戶端的新線

    0熱度

    1回答

    我的應用程序需要知道當前在Adobe Reader中打開的文檔是什麼以及當前瀏覽的頁面是什麼。有沒有可能發現這一點? 我的應用程序是.net應用程序,具有管理權限運行。

    1熱度

    2回答

    那一定是直線前進的答案,但我還沒有發現任何地方怎麼辦呢? 我已經成功地創建使用Boost IPC系統共享內存段作爲例子: boost::interprocess::managed_shared_memory segment(boost::interprocess::create_only, "MySharedMemory", 65536); sharedData = segment.const

    5熱度

    4回答

    我使用的是使用named_mutex和timeout的boost::interpocess::scoped_lock;我在Linux操作系統中運行。 在我的一個測試中,我發生了一次崩潰:從那以後,每次我嘗試再次運行應用程序時,它都卡在了創建鎖的位置;看起來互斥體仍然以某種方式獲得(沒有可能的過程正在運行)。 最重要的是,如果你看下面的代碼,我期待在150微秒後,定時scoped_lock返回給我一

    1熱度

    1回答

    在我的C++代碼(my_app)中,我需要啓動外部應用程序(app_ext),它動態加載我在Fortran(lib_fort)中編寫的庫(dll,so)。從這個庫(lib_fort)我需要從my_app同步地調用一些方法。 因此,它像: (my_app應用)--launches - >(app_ext)--loads - >(lib_fort) - 「電話」 - >(程序my_app) app_e

    0熱度

    2回答

    我正在使用boost::interprocess::named_upgradable_mutex來同步幾個進程。 我使用boost::interprocess::sharable_lock和boost::interprocess::scoped_lock來鎖定互斥鎖。 測試同步時,只要進程正常工作並且正常關閉,就會顯示正常。 但是,我注意到,如果一個進程在保持互斥體時被殺死(例如通過TaskMan

    0熱度

    2回答

    環境:C#,.NET 3.5,Windows 7的64時,Excel 2007,Visual Studio 2010中 我有3個項目一VS2010: 謨«業務»:一個類庫與全局靜態變量 List<BusinessClass> 項目«外接»:擴展共享加載和外接類: [GuidAttribute("A9E83593-395F-4112-855D-A68C5088151F"), ProgId("eF