⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 easytradedlg.cpp

📁 短信防伪系统客户端
💻 CPP
字号:
// EasyTradeDlg.cpp : implementation file
//

#include "stdafx.h"
#include "EasyTrade.h"
#include "EasyTradeDlg.h"
#include "SetIngSys.h"
#include "DataBaseDlg.h"
#include "DataTj.h"
#include "DataFind.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

#define AW_HOR_POSITIVE             0x00000001
#define AW_HOR_NEGATIVE             0x00000002
#define AW_VER_POSITIVE             0x00000004
#define AW_VER_NEGATIVE             0x00000008
#define AW_CENTER                   0x00000010
#define AW_HIDE                     0x00010000
#define AW_ACTIVATE                 0x00020000
#define AW_SLIDE                    0x00040000
#define AW_BLEND                    0x00080000



CEasyTradeDlg::CEasyTradeDlg(CWnd* pParent /*=NULL*/)
: CDialog(CEasyTradeDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CEasyTradeDlg)
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDI_ICON1);
}



BEGIN_MESSAGE_MAP(CEasyTradeDlg, CDialog)
ON_WM_CONTEXTMENU()
//{{AFX_MSG_MAP(CEasyTradeDlg)
ON_WM_CLOSE()
ON_COMMAND(IDM_POP_TC, OnPopTc)
ON_MESSAGE(WM_ONTRAY,OnTray)
	ON_COMMAND(IDM_SYS_SETING, OnSysSeting)
	ON_COMMAND(ID_MEN_DATABASE, OnMenDatabase)
	ON_COMMAND(IDM_START_SERVICE, OnStartService)
	ON_COMMAND(IDM_CLOSE_SERVICE, OnCloseService)
	ON_COMMAND(ID_MEN_DATATJ, OnMenDatatj)
	ON_COMMAND(IDM_DATA_FIND, OnDataFind)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CEasyTradeDlg message handlers

BOOL CEasyTradeDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	/*---------------------------------------*/
	char* lpRand=new char[10];
	srand( (unsigned)time( NULL ) );
	int nRand=rand();
	itoa(nRand,lpRand,10);
	int nLen=strlen(lpRand);
	strcpy(lpRand,&lpRand[nLen-1]);
	if(atoi(lpRand)<5)    //随机产生两种动态效果之一
		dwStyle=AW_BLEND;
	else
		dwStyle=AW_CENTER;
	delete lpRand;
	CRect rcWnd,rcNew;
	this->GetWindowRect(&rcWnd);
	//定位窗口位置
	int nXScreen=::GetSystemMetrics(SM_CXSCREEN);
	int nYScreen=::GetSystemMetrics(SM_CYSCREEN);
	int TitBarHeight=::GetSystemMetrics(SM_CYSIZE);
	rcNew.left=nXScreen/2-rcWnd.Width()/2;
	rcNew.top=nYScreen/2-rcWnd.Height()/2+TitBarHeight;
	rcNew.right=rcNew.left+rcWnd.Width();
	rcNew.bottom=rcNew.top+rcWnd.Height();
	this->MoveWindow(rcNew);
	// TODO: Add extra initialization here
	HINSTANCE hInst=LoadLibrary("User32.DLL"); 
	typedef BOOL(WINAPI MYFUNC(HWND,DWORD,DWORD));
	MYFUNC* AnimateWindow;
	AnimateWindow=(MYFUNC *)::GetProcAddress(hInst,"AnimateWindow");
	AnimateWindow(this->GetSafeHwnd(),700,dwStyle);
	FreeLibrary(hInst);
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	this->Invalidate();
	
	/*----------------------------------------------------*/
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	//添加系统托盘
	char lpszTip[]="易商通短信管理系统";
	NOTIFYICONDATA data;
	data.cbSize=sizeof(NOTIFYICONDATA);
	data.hWnd=m_hWnd;
	lstrcpyn(data.szTip,lpszTip,sizeof(lpszTip));
	data.uCallbackMessage=WM_ONTRAY;
	data.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP;
	data.hIcon=m_hIcon;
	data.uID=IDI_ICON1;
	Shell_NotifyIcon(NIM_ADD,&data);
	InitMenu();
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CEasyTradeDlg::OnContextMenu(CWnd*, CPoint point)
{
	if(::IsMenu(m_Menu.m_hMenu))
	{
		m_Menu.TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,
			point.x,point.y,AfxGetApp()->m_pMainWnd,TPM_LEFTALIGN); 	
	}
}

void CEasyTradeDlg::InitMenu()
{
	static char menuText[10][40];
	if(m_Menu.m_hMenu==NULL)	
	{
		HMENU hSubMenu=NULL;
		CMenu tempMenu;
		if(tempMenu.LoadMenu(IDR_POPUP))
		{
			if((hSubMenu=::GetSubMenu(tempMenu.m_hMenu,0))!=NULL)			
			{
				tempMenu.RemoveMenu(0,MF_BYPOSITION);
				m_Menu.Attach(hSubMenu);
				ASSERT(m_Menu.m_hMenu==hSubMenu);
				if(::IsMenu(m_Menu.m_hMenu))
				{
					int i=m_Menu.GetMenuItemCount();
					memset(menuText,0,10*40);
					for(i-=1;i>=0;i--)
					{
						m_Menu.GetMenuString(i,menuText[i],40,MF_BYPOSITION);
						m_Menu.ModifyMenu(i,MF_BYPOSITION|MF_OWNERDRAW|m_Menu.GetMenuState(i,MF_BYPOSITION),m_Menu.GetMenuItemID(i),LPCTSTR(menuText[i]));
					}
				}
			}
		}
	}
	
}

void CEasyTradeDlg::OnClose() 
{	
	CDialog::OnClose();
}

void CEasyTradeDlg::OnTray(WPARAM wParam, LPARAM lParam)
{
	UINT uMouseMsg=(UINT) lParam;
	if(uMouseMsg==WM_RBUTTONDOWN)
	{
		CPoint point;
		::GetCursorPos(&point);
		m_Menu.TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON, point.x,point.y,AfxGetApp()->m_pMainWnd,TPM_LEFTALIGN); 		
	}
}

void CEasyTradeDlg::OnPopTc() 
{
	if(MessageBox("确定要退出吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
		return;
	//添加系统托盘
	NOTIFYICONDATA data;
	data.hWnd=m_hWnd;
	data.uID=IDI_ICON1;
	Shell_NotifyIcon(NIM_DELETE,&data);
	CDialog::OnCancel();
}



void CEasyTradeDlg::OnOK() 
{
	// TODO: Add extra validation here
	this->ShowWindow(SW_HIDE);
//	CDialog::OnOK();
}

void CEasyTradeDlg::OnButexit()
{
	this->OnCancel();
}

void CEasyTradeDlg::OnCancel()
{
	HINSTANCE hInst=LoadLibrary("User32.DLL"); 
	typedef BOOL(WINAPI MYFUNC(HWND,DWORD,DWORD));
	MYFUNC* AnimateWindow;
	AnimateWindow=(MYFUNC *)::GetProcAddress(hInst,"AnimateWindow");
	AnimateWindow(this->GetSafeHwnd(),700,AW_HIDE|dwStyle);
	FreeLibrary(hInst);
	CDialog::OnCancel();
}

void CEasyTradeDlg::OnSysSeting() 
{
	// TODO: Add your command handler code here
	CSetIngSys m_SysSet;

	m_SysSet.DoModal ();
}

void CEasyTradeDlg::OnMenDatabase() 
{
	// TODO: Add your command handler code here
	CDataBaseDlg m_databasedlg;
	m_databasedlg.DoModal ();
}

void CEasyTradeDlg::OnStartService() 
{
	// TODO: Add your command handler code here
//	STARTUPINFO si;
//	PROCESS_INFORMATION pi;
	ZeroMemory(&si,sizeof(STARTUPINFO));
	ZeroMemory(&pi,sizeof(PROCESS_INFORMATION));
	si.cb = sizeof(STARTUPINFO);
	si.dwFlags = STARTF_USESHOWWINDOW;
	si.wShowWindow = SW_SHOWNORMAL;
	
	if(CreateProcess(NULL,"EasyTradeService.exe",NULL,NULL,FALSE,0,NULL,NULL,&si,&pi))
		AfxMessageBox("服务器启动成功!");
	else
		AfxMessageBox("服务器启动失败");

//	WaitForInputIdle(pi.hProcess ,INFINITE);
//	CloseHandle(pi.hProcess );
//	CloseHandle(pi.hThread );
}

void CEasyTradeDlg::OnCloseService() 
{
	// TODO: Add your command handler code here
//	AfxGetApp()->CloseAllDocuments(true);

	WaitForSingleObject(pi.hProcess ,1000*3);
	if(TerminateProcess(pi.hProcess ,0))
		AfxMessageBox("服务器关闭成功");
	else
		AfxMessageBox("服务器关闭失败");
	CloseHandle(pi.hProcess );
	CloseHandle(pi.hThread );
//	::PostQuitMessage (-1);
}
CDataTj m_datatj;
void CEasyTradeDlg::OnMenDatatj() 
{
	// TODO: Add your command handler code here
	m_datatj.DoModal ();
}
CDataFind m_datafind;
void CEasyTradeDlg::OnDataFind() 
{
	// TODO: Add your command handler code here
	m_datafind.DoModal ();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -