none
【vb.net 】使用ShowWindow AP的問題-- RRS feed

  • Question

  • 請問各位專業人士:

     前題:A Control.exe/B.exe/C.exe/D.exe 原本是VB6 透過VS2008的Wizard轉VS2008 Soruce Code!!

    在A專案-->名稱A Control.exe會有三個button

    當我按下B.exe 會透過 Shell("c:\temp\b.exe", AppWinStyle.NormalFocus) 把B.exe執行起來。
    這時就可直接在B.exe 裡編輯客戶資料以及貨品資料-->B.exe 有二個視窗(客戶資料/貨品資料),
    當B.exe被觸發。我立即再點選客戶資料的按鈕,pop 客戶資料的視窗。

    此時,我再透過A Control.exe 按下C.exe按鈕時,A Contro也透過
    Shell("c:\temp\c.exe", AppWinStyle.NormalFocus) 把c.exe執行起來.
    這時就可直接在c.exe 裡查詢客戶資料以及查詢貨品資料-->c.exe 有二個視窗(查詢客戶資料/查詢貨品資料),
    當我透選C.exe查詢完客戶資料,

    再透過A Control.exe 按下B.exe按鈕,這時,直接用showwindow API(主視窗hwnd,show)以及SetForegroundWindow(hwnd),再把B.exe 視窗呼叫出來時,只顯示主視窗,而第二層的客戶資料的視窗卻沒顯示出來。

    1. 我們測試過,如果這四專案檔若改用VB6開發的,再用showwindow API(主視窗hwnd,show)以及SetForegroundWindow(hwnd),就可將第二層的客戶資料的視窗顯示出來。
    2. 目前我們的解決方法是把所有的視窗。用for loop 找所有的hwnd 再判斷該hwnd 是否B.exe/C.exe/D.exe
      正開啟的視窗。-->此方式太麻煩A control.exe無法完全正確判斷開啟的子視窗歸屬哪個專案檔。

    請各位麻煩提供不同的方法!!!


    • Edited by QQKIKI Thursday, November 15, 2012 5:25 AM
    Thursday, November 15, 2012 2:41 AM

Answers

All replies