#include<iostream>
#include<Windows.h>
#include<shellapi.h>
#include"TypeWindow.h"
#include"SKY_Fun.h"
#include"resource.h"
WNDPROC OldWndproc, OldShowWndproc; // 用于存放消息处理程序的句柄
LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM );
LRESULT CALLBACK WndEdit( HWND, UINT, WPARAM, LPARAM );
LRESULT CALLBACK WndEdShow( HWND, UINT, WPARAM, LPARAM );
int WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow )
{
HWND hwnd;
MSG msg;
WNDCLASS winclass;
static TCHAR wcalssname[] = TEXT("SKYGRth");
winclass.style = CS_HREDRAW | CS_VREDRAW ;
winclass.lpfnWndProc = WndProc;
winclass.cbClsExtra = 0;
winclass.cbWndExtra = 0;
winclass.hInstance = hInstance;
winclass.hIcon = LoadIcon ( NULL, "skygr.ico" ); // 载入文件图标
winclass.hCursor = LoadCursor ( NULL, IDC_ARROW );
winclass.hbrBackground = (HBRUSH) GetStockObject ( WHITE_BRUSH );
winclass.lpszMenuName = NULL;
winclass.lpszClassName = wcalssname;
RegisterClass( &winclass );
if( NULL == ( hwnd = CreateWindow( wcalssname, TEXT("SKYGRth - 起源"),
WS_POPUP | WS_VISIBLE | WS_BORDER,
GetSystemMetrics (SM_CXMAXIMIZED) / 2 - 200,
GetSystemMetrics (SM_CYMAXIMIZED) / 2 - 120,
400, 240, NULL, NULL, hInstance, NULL )))
return 0;
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; // 存储设备内容
static HDC hdcMemImag, hdcMemMask; // 存储内存设备内容句柄
RECT MainWindowRect; // 存储主窗体的矩形坐标
static HINSTANCE hInstance ; // 存储登陆界面执行实例
PAINTSTRUCT ps;
TEXTMETRIC tm ; // 存储字体信息结构
static int cxChar, cyChar, cxBitmap, cyBitmap; // 存储系统字体及位图的宽高
static HWND hwndEdit, hwndEditShow; // 编辑框控件句柄
static HBRUSH hBrushBackdrop, hBrushBlackBack; // 主界面背景画刷
static char whatSting[38]; // 接收编辑控件输入的字符
static HBITMAP hBitmapImag, hBitmapMask; // 存储位图对象句柄
BITMAP bitmap ; // 存储位图信息结构
static bool ENTRY_OK = FALSE, // 确认是否进行登录
USER_AFFIRM_OK = FALSE; // 确认密码是否正确
static int KAPUT_USER = 0;
switch (message)
{
case WM_CREATE:
hInstance = ((LPCREATESTRUCT) lParam)->hInstance ; // 取得执行实例句柄
hdc = GetDC (hwnd) ;
GetTextMetrics (hdc, &tm) ; // 获得字体大小的结构体信息
cxChar = tm.tmAveCharWidth ;
cyChar = tm.tmHeight + tm.tmExternalLeading ;
ReleaseDC (hwnd, hdc) ;
hBitmapImag = LoadBitmap (hInstance, TEXT ("back")) ; // 加载背景位图资源
hBitmapMask = LoadBitmap (hInstance, TEXT ("head")) ; // 加载标题位图资源
GetObject (hBitmapMask, sizeof (BITMAP), &bitmap) ; // 取得位图数据
cxBitmap = bitmap.bmWidth ;
cyBitmap = bitmap.bmHeight ;
hdcMemImag = CreateCompatibleDC (NULL) ; // 创建一个与当前显示器兼容的内存设备内容
hdcMemMask = CreateCompatibleDC (NULL) ;
SelectObject ( hdcMemImag, hBitmapImag ) ; // 将背景位图选进设备内容
SelectObject ( hdcMemMask, hBitmapMask ) ;
hBrushBlackBack = CreateSolidBrush ( BLACK_CLOCK ); // 建立黑色画刷用于侧边提示背景
CreateWindow(TEXT("BUTTON"), TEXT("进入->"), WS_CHILD|WS_VISIBLE, 330, 200, 60, 27, hwnd, (HMENU)ID_ENTRY, 0, 0);
CreateWindow(TEXT("BUTTON"), TEXT("关于"), WS_CHILD|WS_VISIBLE, 260, 200, 60, 27, hwnd, (HMENU)ID_HELP, 0, 0);
CreateWindow(TEXT("BUTTON"), TEXT("退出"), WS_CHILD|WS_VISIBLE, 15, 200, 60, 27, hwnd, (HMENU)ID_EXIT, 0, 0);
hwndEdit = CreateWindow (TEXT ("edit"), NULL, WS_CHILD | WS_VISIBLE | WS_BORDER | ES_LEFT | ES_NOHIDESEL | ES_PASSWORD,
50, 120, 300, (int)(HIWORD (GetDialogBaseUnits ()) * 1.4), hwnd, (HMENU)ID_EDIT, ((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;
OldWndproc = (WNDPROC)SetWindowLong( hwndEdit, GWL_WNDPROC, ( LPARAM )WndEdit );
// 设置编辑控件密码框消息处理程序
return 0;
case WM_CTLCOLOREDIT: // 当编辑控件着色时由控件像主窗口发送消息
if( HWND( lParam ) == hwndEditShow )
{
SetBkMode ((HDC)wParam, TRANSPARENT ) ;
SetTextColor((HDC)wParam, GREEN_CLOCK );
SetBkColor((HDC)wParam, BLACK_CLOCK );
SelectObject((HDC)wParam, GetStockObject (DEFAULT_GUI_FONT));
return (LRESULT) hBrushBlackBack;
}
else
{
/*SetTextColor((HDC)wParam, GREEN_CLOCK );*/
SelectObject((HDC)wParam, GetStockObject (DEFAULT_GUI_FONT));
return 0;
}
return 0;
case WM_CTLCOLORBTN: // 当按钮或者某些控件着色时由控件像主窗口发送消息
/*case WM_CTLCOLORSTATIC:*/ // 静态文本框着色时会收到此消息
SetBkMode ((HDC)wParam, TRANSPARENT ) ;
SetTextColor((HDC)wParam, RGB( 60, 60, 60 )); // 设置字体颜色
SetBkColor((HDC)wParam, RGB( 228, 229, 240)); // 设置字体背景颜色
SelectObject((HDC)wParam, GetStockObject (DEFAULT_GUI_FONT)); // 设置字体
return (LRESULT) hBrushBackdrop; // 设置背景(返回背景画刷)
case WM_PAINT:
hdc = BeginPaint( hwnd, &ps ) ;
BitBlt (hdc, 0, 0, 400, 240, hdcMemImag, 0, 0, SRCCOPY) ;
// 显示窗体背景
BitBlt (hdc,( 400 - cxBitmap ) / 2, 35, cxBitmap, cyBitmap, hdcMemMask, 0, 0, SRCAND) ;
// 显示标题图案
show_headingchar( hdc );
// 显示标题
EndPaint( hwnd, &ps );
return 0;
case WM_LBUTTONDOWN: // 用户单击显示区域时收到此消息
SendMessage(hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0); // 向自身发送单击标题栏的消息供windows处理
return 0;
case WM_COMMAND: // 子窗口控件向父窗口发送的消息
switch ( LOWORD( wParam ) )
{
case ID_EXIT:
SendMessage( hwnd, WM_DESTROY , 0, 0 ); // 发送退出消息
return 0;
case ID_HELP:
MessageBeep (-1) ;
MessageBox( hwnd, TEXT( " 此功能尚未完善! "), TEXT("SKYGRth - 抱歉!"), MB_OK );
return 0;
case ID_ENTRY:
GetWindowText( hwndEdit, whatSting, GetWindowTextLength(hwndEdit) + 1 );
if( !ENTRY_OK )
{
GetWindowRect( hwnd, &MainWindowRect ); // 取得窗口矩形坐标
MoveWindow( hwnd, MainWindowRect.left, MainWindowRect.top, 600, 240, FALSE ); // 调整主窗口大小
hwndEditShow = CreateWindow (TEXT ("edit"), NULL, WS_CHILD | WS_VISIBLE | WS_BORDER |ES_MULTILINE | ES_AUTOVSCROLL ,
1, 1, 1, 1, hwnd, (HMENU)ID_EDSHOW, hInstance, NULL) ;
OldShowWndproc = (WNDPROC)SetWindowLong( hwndEditShow, GWL_WNDPROC, ( LPARAM )WndEdShow);
MoveWindow( hwndEditShow, 400, 0, 198, 238, FALSE );
ENTRY_OK = TRUE;
}
if( ShowCouclusionInfo( hwndEditShow, CYPHER, whatSting ) )
if( 32 < ( int )ShellExecute( hwnd, "open", TEXT("E:\\腾讯\\QQ\\QQProtect\\Bin\\QQProtect.exe"),"","",SW_SHOW ) )
SendMessage( hwnd, WM_DESTROY , 0, 0 );
return 0;
default:
return 0 ;
}
case WM_DESTROY:
GetWindowRect( hwnd, &MainWindowRect );
while( TRUE )
{
MainWindowRect.left += 2;
MainWindowRect.top += 1;
MainWindowRect.right -= 2;
MainWindowRect.bottom-= 1;
MoveWindow( hwnd, MainWindowRect.left, MainWindowRect.top, MainWindowRect.right - MainWindowRect.left,
MainWindowRect.bottom - MainWindowRect.top, FALSE );
if( MainWindowRect.bottom - MainWindowRect.top < 2 )
break;
}
DeleteObject((HBRUSH) SetClassLong (hwnd, GCL_HBRBACKGROUND, (LONG)CreateSolidBrush ( WHITE_BRUSH))); // 在程序结束时删除定义的银色背景
DeleteObject( hBrushBlackBack );
PostQuitMessage (0);
return 0;
}
return DefWindowProc (hwnd, message, wParam, lParam) ;
}
LRESULT CALLBACK WndEdit (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
if( message == WM_KEYDOWN )
switch( wParam )
{
c
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
SKYGRth.7z (77个子文件)
SKYGRth
Debug
SKYGRth.suo 9KB
SKYGRth.pdb 643KB
SKYGRth.exe 365KB
SKYGRth.sln 995B
SKYGRth.ilk 432KB
ipch
skygrth-58ebb449
skygrth-ec97c5b2.ipch 30.69MB
SKYGRth.suo 34KB
x64
Release
SKYGRth
resource.h 992B
SKY_Fun.cpp 2KB
Debug
cl.command.1.tlog 1KB
SKYGRth.log 2KB
rc.command.1.tlog 354B
CL.read.1.tlog 30KB
vc100.idb 611KB
mt.read.1.tlog 692B
link-cvtres.read.1.tlog 2B
link.read.1.tlog 3KB
Main_TH.obj 62KB
rc.read.1.tlog 3KB
link.write.1.tlog 654B
CL.write.1.tlog 890B
vc100.pdb 284KB
SKYGRth.lastbuildstate 47B
link.command.1.tlog 1KB
mt.write.1.tlog 220B
SKYGRth.Build.CppClean.log 1KB
SKY_Fun.obj 27KB
SKYGRth.exe.intermediate.manifest 381B
mt.command.1.tlog 396B
rc.write.1.tlog 178B
link-cvtres.write.1.tlog 2B
SKYGRth.res 328KB
SKYGRth.vcxproj 6KB
SKYGRth.rc 4KB
back.bmp 283KB
SKYGRth.aps 320KB
SKY_Fun.h 456B
x64
Release
cl.command.1.tlog 526B
SKYGRth.log 1KB
CL.read.1.tlog 12KB
CL.write.1.tlog 462B
vc100.pdb 92KB
SKYGRth.lastbuildstate 47B
SKYGRth.unsuccessfulbuild 0B
SKY_Fun.obj 55KB
Release
cl.command.1.tlog 1KB
SKYGRth.log 2KB
rc.command.1.tlog 362B
CL.read.1.tlog 29KB
mt.read.1.tlog 700B
link-cvtres.read.1.tlog 2B
link.read.1.tlog 3KB
Main_TH.obj 657KB
rc.read.1.tlog 2KB
link.write.1.tlog 600B
CL.write.1.tlog 718B
vc100.pdb 268KB
SKYGRth.lastbuildstate 49B
link.command.1.tlog 1KB
mt.write.1.tlog 228B
SKYGRth.Build.CppClean.log 1KB
SKY_Fun.obj 52KB
SKYGRth.exe.intermediate.manifest 381B
mt.command.1.tlog 408B
rc.write.1.tlog 182B
link-cvtres.write.1.tlog 2B
SKYGRth.res 303KB
TypeWindow.h 431B
标题.bmp 5KB
SKYGRth.vcxproj.filters 2KB
skygrth.ico 14KB
SKYGRth.vcxproj.user 143B
Main_TH.cpp 8KB
Release
SKYGRth.pdb 459KB
SKYGRth.exe 315KB
SKYGRth.sdf 26.71MB
SKYGRth.sln 1KB
共 77 条
- 1
资源评论
- s08050301222013-12-05不错 可以用 算法也可以 用到项目中了 学习了
- 「已注销」2014-03-09可以用,多谢分享
- Flow_Cloud2014-03-01朋友说很好用,谢谢分享
- chenyunbbs2013-11-18不错 很好用
jingilove
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功