[問題] Findwindow 不是VB的問題,我用win32寫

作者: areyo (沒有名字的怪物)   2016-07-15 18:52:13
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
None
問題(Question):
為什麼用findwindow找combobox的hanlder都找不到,可是button卻可以??
餵入的資料(Input):
這是我找尋的code, currChild卻是0
IntPtr mWin = FindWindow("ThunderRT6FormDC", "POSDLLDemo");
IntPtr mFrame = FindWindowEx(mWin, IntPtr.Zero, "ThunderRT6Frame", "Port Config");
currChild = FindWindowEx(mFrame, prevChild, "ThunderRT6ComboBox", "COM1");
預期的正確結果(Expected Output):
取得combobox的handler
錯誤結果(Wrong Output):
NULL
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
我用C++寫的,只不過我要找的目標是用VB寫的,這次沒有迷路
作者: wtchen (沒有存在感的人)   2016-07-15 18:59:00
抱歉,板工對win32不熟,你文章中的關鍵字我拿去google結果都是VB
作者: areyo (沒有名字的怪物)   2016-07-15 19:08:00
沒關係,只希望尋求解答 :)
作者: wtchen (沒有存在感的人)   2016-07-15 19:15:00
再次提醒,發問請給予必要資訊。
作者: ctrlbreak   2016-07-15 21:16:00
餵的字串錯了吧? 編碼對不對? ID對不對? debug看看.
作者: areyo (沒有名字的怪物)   2016-07-15 23:08:00
補上code,希望有幫助除錯,那些用spy++抓到的combobox在一個frame裡面
作者: druid0214 (Assassin)   2016-07-16 11:03:00
我怎麼知道 你的編義氣沒有跳警告嗎
作者: ctrlbreak   2016-07-16 13:49:00
你編unicode的版本嗎, 是的話就字串格式錯了.還有一個不知道有沒有相關, 之前工作需求寫工具遇到的32bits版程式只能找到32bit的程式, 有些要編譯成x64才找的到, 也許MS自己的東西沒有這個問題, 差異在哪我懶得找問題了 XD
作者: areyo (沒有名字的怪物)   2016-07-16 20:05:00
編譯都正常。分非unicode
作者: Ommm5566 (56天團)   2016-07-16 21:36:00
你當版上的人有天眼通可以隔空抓蟲就對了
作者: damody (天亮damody)   2016-07-17 07:32:00
Intptr 這不是vb就是c#好嗎

Links booklink

Contact Us: admin [ a t ] ucptt.com