程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++取得其他順序窗體控件中信息的辦法

C++取得其他順序窗體控件中信息的辦法

編輯:關於C++

C++取得其他順序窗體控件中信息的辦法。本站提示廣大學習愛好者:(C++取得其他順序窗體控件中信息的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C++取得其他順序窗體控件中信息的辦法正文


本文實例講述了C++取得其他順序窗體控件中信息的辦法。分享給大家供大家參考。詳細剖析如下:

這裡演示了取得其他順序窗體控件信息的辦法,

用FindWindow API找到文本框句柄,用SendMessage(WM_GETTEXT)取得文本

#include <windows.h> 
BOOL CALLBACK EnumChildProc(HWND hWnd,LPARAM lParam); 
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) 
{ 
  char className[]="notepad"; 
  HWND hWnd=::FindWindow(className,NULL);   
    if(hWnd) 
  { 
    ::EnumChildWindows(hWnd,EnumChildProc,0); 
    return 0; 
  } 
  MessageBox(NULL,"fail!","fail",MB_OK); 
  return 0; 
} 
BOOL CALLBACK EnumChildProc(HWND hWnd,LPARAM lParam) 
{ 
  char temp1[256],temp2[256]; 
  ::GetClassName(hWnd,temp1,255); 
  if(!::strcmp(temp1,"Edit")) 
  { 
    ::SendMessage(hWnd,WM_GETTEXT,sizeof(temp2)/sizeof(char),(LPARAM)temp2);
    //EDIT的句柄,音訊,接納緩沖區大小,接納緩沖區指針 
    ::MessageBox(NULL,temp2,"get",MB_OK);  
    return 0; 
  } 
  ::wsprintf(temp2,"classname: %s",temp1); 
  MessageBox(NULL,temp2,"cwnd",MB_OK); 
  return true; 
}

希望本文所述對大家的C++順序設計有所協助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved