1樓:匿名使用者
所謂控制代碼,獲取到就是hwnd型別,沒有所謂的字串形式。除非你轉換過。
例如:獲取一個視窗名為「遊戲」的控制代碼。
m_banben = "遊戲";
hwnd jubing = ::findwindow( null , m_banben );
如果你要轉換成cstring,就這樣:
cstring str;
str.format("%d",jubing);
c++中,如何把控制代碼(long值)轉換成hwnd?
2樓:匿名使用者
cannot convert parameter 1 from 'long' to 'struct hwnd__ *';
不能將引數1從'long'型別轉換成 'struct hwnd__ *'型別。根據錯誤資訊可知,hwnd是個結構體,結構體是多個+多種型別的變數的集合體,你一個long型的變數不能轉換成結構體的,實在是想轉換,那就強制轉換,但是,不能保證轉換後的hwnd型別變數是否有效。
3樓:匿名使用者
func(struct hwnd__ * handle,...)
呼叫long fromhandle;
func((struct hwnd__ *)fromhandle,...);
4樓:匿名使用者
應該是函式的定義的問題,全貼出來看看
c++裡hwnd怎麼轉換成lptstr
遍歷視窗控制代碼得到的多個視窗控制代碼怎麼表示
5樓:待我染
uservar "id"//在自定義輸入你要查詢視窗的數字串,特別字眼都可以
hwnd =
plugin.window.search(id)//遍歷所有視窗,查詢含有逗數字串,特別字眼地的視窗並存入hwnd中
(這裡按鍵自帶的命令是這樣的,你開啟記事本 標題含有"無標題",使用這個命令 它會得到該記事本的視窗控制代碼xx並賦值到變數hwnd
具體結果"xx|" 如果有多個結果 會是這樣 "xx1|xx2|xx3")
bb = split(hwnd, "|")//把所有控制代碼分開存到陣列 (這個是分割字串,以字串"|"分割變數hwnd裡的字串並把各項結果以陣列形式賦值到變數bb)
cc = clng(bb(0)) //clng是強制轉換為整數 因為bb這個陣列裡的成員型別都是字串,所以要轉換一下,方便比較 bb(0) 這裡出現下標越界說明bb這個陣列裡並沒有序號為0的這個成員 換句話說就是沒有找到視窗
6樓:
哥們我用c++做過這樣的程式,vb也一樣 ,你可以在你要控制的程式的文字框中先輸入指定的問題假如「abc」,用enumchildwindows可以遍歷出該控制代碼下所有控制元件的控制代碼,再用getwindowtext取出每個控制元件控制代碼的文字引數,發現為"abc"就返回該控制元件控制代碼控制代碼找到了,用sendmessage(handle,wm_settext.....)可以設定你想做的任意值
c++ 如何輸出hwnd控制代碼的值
7樓:文正
hwnd就像指標一樣(說白了就是指標), 它也是整型資料型別. 所以, 只需要強制型別轉換為int型就可以了.
hwnd wnd;
cout<<(int)wnd;
或者用c語言的方法:
hwnd wnd;
printf("%d", wnd);
c語言相比c++來說, 不需要強制型別轉換了 ,但是仍然需要寫%d. 所以怎麼使用需要看實際情況.
8樓:匿名使用者
//hwnd是一個指標值
cstring strmsg;
hwnd hwnd = getyourhwnd();
strmsg.format(_t("hwnd = 0x%x\n"), hwnd);
outputdebugstring(strmsg); //可以在ide中檢視到輸入的值
//或者直接用視窗顯示
afxmessagebox(strmsg);
9樓:匿名使用者
經過討論,最終結果是:1.cout< char word[100];messageboxa(0,word,"hwnd is...",sprintf(word,"%p",hwnd)); 10樓:匿名使用者 控制檯輸出用cout,視窗程式用textout 11樓:匿名使用者 1.cout<<(int)hwnd;2.char word[10];messageboxa(0,word,"hwnd",sprintf(word,"%d",(int)hwnd)); 12樓:匿名使用者 c++能用printf嗎? 13樓:匿名使用者 hwnd微軟還沒有對外公佈其實質實現的方式,包括它本質到底是什麼?標識資源整型?亦或是指標?這個都沒有明確說明。 14樓:匿名使用者 printf ("%p", … )是這樣嗎? c++,hwnd怎麼強制轉換成int類弄 15樓:匿名使用者 變數前寫(int)就可以了,但hwnd是無符號型的,轉成int是可能變成負數的,要小心 16樓:匿名使用者 直接 (int),然後你會得到一個整數,代表系統對某個視窗的標識 c++中怎麼把hwnd轉換為iwin32windows型別? 17樓:匿名使用者 請說明白你的意思 hwnd是一個控制代碼,他就是windows的一種資源的標識 ,就屬於win32windows 裡面的一種型別 c++裡面的hwnd是什麼 18樓:匿名使用者 hwnd 是 handle of window的縮寫吧,就是視窗控制代碼的意思控制代碼就是唯一表示某樣東西的一個好碼,就像身份證一樣,windows裡當前開啟的所有視窗都有自己的id,那個id就是控制代碼 19樓:匿名使用者 是一個控制代碼,相當於一個指標,是個指向視窗的指標 20樓:匿名使用者 hwnd:h 是型別描述,表示控制代碼(handle), wnd 是變數物件描述,表示視窗,所以hwnd 表示視窗控制代碼 通俗地說,如果把一個到處跑的人當作指標的話,那麼hwnd就是該人的身份證; hwnd 屬性: 返回窗體或控制元件的控制代碼(注意 ole 容器控制元件不支援該屬性。控制代碼:是由操作環境定義的一個唯一的整數值,它被程式用來標識或者切換到物件,如窗體或控制元件等。)。 語法:object.hwnd object 所在處代表一個物件表示式,其值是「應用於」列表中的一個物件。 21樓:匿名使用者 視窗控制代碼父類視窗有的子類呼叫時cwnd 這個我改過了,可以用了。include include include include include using namespace std int main c c風格字串的例項是字串字面值 那string型別的例項是什麼?c 初始化物件有兩種形似,使用string s abcde 的形式來... 這個是字元陣列。c語言字元陣列和字串的區別,字元陣列是一個儲存字元的陣列,而字串是一個用雙括號括起來的以 0 結束的字元序列,雖然字串是儲存在字元陣列中的,但是一定要注意字串的結束標誌是 0 總的來說是沒有區別的,字串就是以字元陣列形式儲存的。可以把一個字串看成是一個字元陣列,可以按陣列那樣操作。兩... include define n 80 main printf 字母個數 d n數字個數 d n空格個數 d n a,b,c 初始化a 0,b 0,c 0 c語言程式設計 從鍵盤輸入一串字元 長度不超過80 統計出各字母出現的次數 不區分大小寫 include define max 100 void...關於C風格的字串和C 風格的字串小程式
c語言中字串和陣列的區別,C語言中字串和陣列的區別
C語言 從鍵盤上輸入字串,假定該字串的長度小於80,計算其中字母 數字和空格的個數