📄 wmcopyserver.cpp
字号:
// WMCOPYServer.cpp : Defines the entry point for the console application.
#include "stdafx.h"
#include "WMCOPYHDRS.h"
void Arrange_Ascen(_TCHAR *pString)
{
for(int iCount=0;iCount<STRLEN(pString)*2;iCount++)
{
for(int jCount=iCount+1 ;jCount<=STRLEN(pString)-1;jCount++)
{
if(pString[jCount]<pString[iCount])
{
_TCHAR szTemp=pString[jCount];
pString[jCount]=pString[iCount];
pString[iCount]=szTemp;
}
}
}
}
void Arrange_Descen(_TCHAR *pString)
{
for(int iCount=0;iCount<STRLEN(pString)*2;iCount++)
{
for(int jCount=iCount+1 ;jCount<=STRLEN(pString)-1;jCount++)
{
if(pString[jCount]>pString[iCount])
{
_TCHAR szTemp=pString[jCount];
pString[jCount]=pString[iCount];
pString[iCount]=szTemp;
}
}
}
}
LRESULT CALLBACK WMCOPYWNDPROC(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
LPWM_DATASTRUCTURE lpMsg;
if(uMsg == WM_COPYDATA) {
lpMsg = (LPWM_DATASTRUCTURE)((COPYDATASTRUCT*)lParam)->lpData;
#if _UNICODE && UNICODE
SETSTRLEN(lpMsg->Data,(lpMsg->cbSize)*2);
#else
SETSTRLEN(lpMsg->Data,(lpMsg->cbSize));
#endif
switch(lpMsg->iMessage)
{
case WM_DISPLAY_TEXT:
TPRINTF(_T("\n"));
TPRINTF(lpMsg->Data);
break;
case WM_ASCENDING:
Arrange_Ascen(lpMsg->Data);
TPRINTF(_T("\nServer sorted the data in ascending order successfully\n"));
TPRINTF(lpMsg->Data);
break;
case WM_DESCENDING:
Arrange_Descen(lpMsg->Data);
TPRINTF(_T("\nServer sorted the data in descending order successfully\n"));
TPRINTF(lpMsg->Data);
break;
case WM_QUIT_SERVER:
PostQuitMessage(0);
break;
}
}
else
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
int main(int argc, char* argv[])
{
MSG iMsg;
BOOL bVal;
WNDCLASS WMClass;
WMClass.style = CS_GLOBALCLASS;
WMClass.lpfnWndProc = WMCOPYWNDPROC;
SETCONSOLETITLE(WINSERVERNAME);
if(FINDWINDOW(SERVERWNDCLASSNAME,NULL)!=NULL){
TPRINTF(_T("WMCOPYSERVER::Server is already running!\n"));
}
else{
WMClass.hInstance = GETMODULEHANDLE;
WMClass.lpszClassName = SERVERWNDCLASSNAME;
WMClass.cbClsExtra = 0;
WMClass.cbWndExtra = 0;
WMClass.hbrBackground = NULL;
WMClass.hCursor = NULL;
WMClass.hIcon = NULL;
WMClass.lpszMenuName = NULL;
if(RegisterClass(&WMClass) == 0){
TPRINTF(_T("WMCOPYSERVER: class registeration failed!\n"));
}
else {
if(CreateWindow((LPCTSTR)SERVERWNDCLASSNAME, NULL, 0, 0, 0, 0, 0,
NULL, NULL, WMClass.hInstance, NULL) == NULL){
TPRINTF(_T("\nWMCOPYSERVER: Can't create window!"));
}
else {
TPRINTF(_T("\nWMCOPYSERVER: Server launched successfully!"));
while((bVal = GetMessage(&iMsg, NULL, 0, 0)) && (bVal != -1))
DispatchMessage(&iMsg);
}
}
}
TPRINTF(_T("\nWMCOPYSERVER: Press Enter to quit..."));
return getchar();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -