能力值:
( LV7,RANK:100 )
|
-
-
2 楼
我不懂VC,但你能讲讲如何工作的吗?要用到哪些API函数?
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
Visual C++ 真的很难学,不过我不会放弃。还是谢谢了。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
多谢楼主
|
能力值:
( LV12,RANK:370 )
|
-
-
5 楼
高人啊,又学了一招,谢谢楼主!
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
好东西 下载了研究研究
|
能力值:
(RANK:10 )
|
-
-
7 楼
Authorship.I support.
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
不会还是要顶一下
|
能力值:
( LV6,RANK:90 )
|
-
-
9 楼
下了学习~:)
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
最初由 aqtata 发布 我不懂VC,但你能讲讲如何工作的吗?要用到哪些API函数?
窗口枚举,Enable就可以了
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
下了再说
|
能力值:
( LV3,RANK:20 )
|
-
-
12 楼
开源真是值得学习
|
能力值:
(RANK:1010 )
|
-
-
13 楼
简单明了,好东西!
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
谢谢了
另外我把他翻译成 C语言代码了
#include <windows.h>
#include "resource.h" //对话框资源
#define TIME_ID 1
HWND hForeWnd;
BOOL CALLBACK EnumChildProc( HWND hwnd, //子窗口句柄
LPARAM lParam // application-defined value
)
{
if(IsWindow(hwnd)&&!IsWindowEnabled(hwnd))
{
EnableWindow(hwnd,TRUE);
}
return TRUE;
}
BOOL CALLBACK DlgProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
switch(Message)
{
case WM_TIMER: //调用SetTimer函数以后,WM_TIMER消息会在这里发送,
//函数的第三个参数表示每隔多少毫秒
//的时间运行一次下面的一个case段
hForeWnd = GetForegroundWindow();
if(IsWindow(hForeWnd))
{
EnumChildWindows(hForeWnd,EnumChildProc,0);
}
break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDC_CHECK_RUN: //设置和取消时间函数
if( IsDlgButtonChecked(hwnd,IDC_CHECK_RUN) )
SetTimer(hwnd,TIME_ID,1000,NULL);
else
KillTimer(hwnd,TIME_ID);
break;
}
break;
case WM_CLOSE:
KillTimer (hwnd, TIME_ID) ;
EndDialog(hwnd, 0);//关闭程序(对话框)
break;
default:
return FALSE;
}
return TRUE;
}
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
return DialogBox(hInstance, MAKEINTRESOURCE(IDD_ENABLEBTN_DIALOG), NULL, DlgProc);
}
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
研究一下先。
|
能力值:
( LV3,RANK:30 )
|
-
-
16 楼
好东西 ,谢谢了
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
看看看大神
|
|
|