○他のプログラムのウインドウを列挙--------------------------------------------------
#include <stdio.h>
#include <windows.h>
BOOL CALLBACK EnumWndProc( HWND hWnd, LPARAM lParam )
{
char buff[256]="";
GetWindowText( hWnd,buff, sizeof(buff));//ウィンドウ名を取得
printf("%s\n",buff);
return true;
}
int main(int argc, char* argv[])
{
EnumWindows( EnumWndProc, (LPARAM)NULL );
return 0;
}
○他のプログラムのウインドウサイズを変更-------------------------------------------
#include <stdio.h>
#include <windows.h>
BOOL CALLBACK EnumWndProc( HWND hWnd, LPARAM lParam )
{
char buff[256]="";
GetWindowText( hWnd,buff, sizeof(buff));
if(strcmp(buff,(char*)lParam)==0){//名前が一致したら、
SetWindowPos(hWnd,HWND_TOP,0 ,0 ,100,100,SWP_SHOWWINDOW);//ウインドウの位置とサイズを変更
}
return true;
}
int main(int argc, char* argv[])
{
LPARAM lParam=(LPARAM)"無題 - メモ帳";//検索するウィンドウの名前
EnumWindows( EnumWndProc, (LPARAM)lParam);
return 0;
}
○他のプログラムのウインドウハンドルを取得する----------------------------------------
#include <stdio.h>
#include <string.h>
#include <windows.h>
struct cell{
HWND hWnd;
char WindowName[256];
};
BOOL CALLBACK EnumWndProc( HWND hWnd, LPARAM lParam )
{
char buff[256]="";
GetWindowText( hWnd,buff, sizeof(buff));//ウインドウの文字を取得して、
if(strcmp(buff,((cell*)lParam)->WindowName)==0){//名前が一致したら、
((cell*)lParam)->hWnd = hWnd;//ウィンドウハンドルを渡す
}
return true;
}
int main(int argc, char* argv[])
{
cell c;
c.hWnd =NULL;
strcpy(c.WindowName,"無題 - メモ帳");//検索するウィンドウの名前
EnumWindows( EnumWndProc, (LPARAM)&c);
if(c.hWnd != NULL){
//目的のウインドウハンドルが取得できました
SetWindowPos(c.hWnd,HWND_TOP,0 ,0 ,100,100,SWP_SHOWWINDOW);//ウインドウのサイズを変更
}
return 0;
}
▲トップページ
>
Windows と C++