修该软件标题栏
我想修改某软件标题栏上的字,用setwindowtext能修改成功,但某软件缩小再放大后,标题又恢复原来.于是我用循环,但结果就是程序假死,请问有没有比较好的办法?只要能达到实时修改的目的就行HWND hwnd=::FindWindow("软件",NULL);
char buf;
while(1)
{
::GetWindowText(hwnd,buf,sizeof(buf));
if(buf != "123")
{
::SetWindowText(hwnd,"123");
}
}
你既然死循环设置标题,那还判断什么啊,直接设置啊,另外循环的尾部加个sleep就应该好了 #include "stdafx.h"
#include "resource.h"
HINSTANCE g_hInst;
void OnPaint(HWND hWnd)
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd,&ps);
//HBITMAP hBitmap = (HBITMAP)LoadImage(NULL,"./Picture.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
HBITMAP hBitmap = LoadBitmap(g_hInst,(LPCTSTR)IDB_BITMAP1);
BITMAP bm;
//获取图片信息
GetObject(hBitmap,sizeof(bm),&bm);
HDC dc = CreateCompatibleDC(hdc);
SelectObject(dc,hBitmap);
MoveWindow(hWnd,0,0,bm.bmWidth,bm.bmHeight,FALSE);
BitBlt(hdc,0,0,bm.bmWidth,bm.bmHeight,dc,0,0,SRCCOPY);
//
RECT rect;
GetClientRect(hWnd,&rect);
Rectangle(hdc,100,100,300,500);
LineTo(hdc,100,100);
MoveToEx(hdc,300,500,NULL);
EndPaint(hWnd,&ps);
}
void OnInitDialog(HWND hwnd)
{
//HICON hIcon = (HICON)LoadImage(NULL,"./1.ico",IMAGE_ICON,0,0,LR_LOADFROMFILE);
HICON hIcon = LoadIcon(g_hInst,(LPCTSTR)IDI_ICON1);
::SendMessage(hwnd, WM_SETICON, FALSE, (LPARAM)hIcon);
SetWindowText(hwnd,"绘图测试");
}
void OnMouseMove(HWND hwnd)
{
HCURSOR hCursor = LoadCursor(g_hInst,(LPCTSTR)IDC_CURSOR1);
SetCursor(hCursor);
}
BOOL CALLBACK DialogProc(
HWND hwndDlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
)
{
switch(uMsg) {
case WM_PAINT:
OnPaint(hwndDlg);
return TRUE;
case WM_INITDIALOG:
OnInitDialog(hwndDlg);
return TRUE;
case WM_MOUSEMOVE:
OnMouseMove(hwndDlg);
return TRUE;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDCANCEL:
EndDialog(hwndDlg,IDCANCEL);
return TRUE;
case IDOK:
return TRUE;
}
。。。。。。 machimilk 发表于 2014-8-14 11:56
你既然死循环设置标题,那还判断什么啊,直接设置啊,另外循环的尾部加个sleep就应该好了
加了sleep的,但仍然是假死.时间设置到10秒也一样 为了一个标题 用死循环。。。。。。。。。
用break试试
fishdelphi 发表于 2014-8-14 13:27
加了sleep的,但仍然是假死.时间设置到10秒也一样
你程序的主线程死循环 当然卡死了,非要这么弄 就createthread,把死循环写在新开的线程里面 machimilk 发表于 2014-8-14 14:34
你程序的主线程死循环 当然卡死了,非要这么弄 就createthread,把死循环写在新开的线程里面
谢谢.我的意思是有没有其他办法?比如能实时监控到标题栏的改变. fishdelphi 发表于 2014-8-14 14:55
谢谢.我的意思是有没有其他办法?比如能实时监控到标题栏的改变.
监视也要死循环监视啊,都是单开线程的 machimilk 发表于 2014-8-14 15:03
监视也要死循环监视啊,都是单开线程的
谢谢,你懂我的意思,解决了.非常感谢 {:7_146:}
页:
[1]