📄 client.cpp
字号:
// Client.cpp
//
#include "resource.h"
#include "windows.h"
#include <tlhelp32.h>
#include <commctrl.h>
#define WM_SOCKET WM_USER+3
MSG msg;
char buffer[8192];
char buff[64];
int RDbytes;
LPSTR CurChar;
PROCESSENTRY32 pe32;
MODULEENTRY32 mod;
HANDLE hProcessSnap;
int i,a;
HINSTANCE hInst;
HICON mainIcon;
LVCOLUMN LVC;
LVITEM IT;
TC_ITEM Tab;
NMHDR * TABntf;
HIMAGELIST himlLV;
POINT pt;
HMENU hPopup;
HWND hMAIN,hCONNS;
HWND hLIST,hADRS,hADRD,hSTAT;
SYSTEMTIME SysTime;
WSADATA wsaData;
WORD WSAEvent;
SOCKET sendsock;
SOCKET currentsock;
SOCKADDR_IN addr_Sock;
SOCKET listen_Sock;
SOCKET send_Sock;
PHOSTENT pHost;
BOOL CALLBACK MainDlg(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
hInst=hInstance;
hMAIN= CreateDialog(hInstance,MAKEINTRESOURCE(IDD_MAIN),NULL, MainDlg);
sendsock=0;
while (GetMessage (&msg, NULL, 0, 0))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
return msg.wParam ;
return 0;
}
int SendCommand(char cmd)
{
int RDbytes;
addr_Sock.sin_addr.s_addr = inet_addr((const char *)"192.168.1.5");
//pHost=gethostbyname( (const char *)&"nuts.homeip.net" );
//memmove(&addr_Sock.sin_addr.s_addr,*pHost->h_addr_list,sizeof(PCHAR));
addr_Sock.sin_family = AF_INET;
addr_Sock.sin_port = htons(333);
sendsock=socket (AF_INET,SOCK_STREAM,0);
connect(sendsock,(struct sockaddr *)&addr_Sock,sizeof(addr_Sock));
buffer[0]=cmd;
send(sendsock,buffer,1,0);
Sleep(100);
RDbytes=recv(sendsock, buffer, 2, 0);
RDbytes=*(WORD *)buffer;
if (RDbytes)
{
ZeroMemory(&buffer,RDbytes);
i=0;
while (i!=RDbytes)
{
i+=recv(sendsock, buffer+i, RDbytes-i, 0);
}
}
closesocket(sendsock);
return RDbytes;
}
BOOL CALLBACK MainDlg(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (msg)
{
case WM_INITDIALOG:
{
WSAStartup (MAKEWORD(2,2), &wsaData);
INITCOMMONCONTROLSEX icc;
icc.dwSize=sizeof(INITCOMMONCONTROLSEX);
icc.dwICC=ICC_LISTVIEW_CLASSES;
InitCommonControlsEx(&icc);
mainIcon=LoadIcon (hInst,MAKEINTRESOURCE(IDI_MAIN));
SetClassLong(hwnd, GCL_HICON, (LONG)mainIcon );
//hPopup=LoadMenu(hInst,MAKEINTRESOURCE (IDR_POPUPS));
//himlLV = ImageList_LoadBitmap(hInst,MAKEINTRESOURCE(IDB_LEDS),16,1,0);
hLIST=GetDlgItem(hwnd,IDC_LIST);
SendMessage (hLIST,LVM_SETEXTENDEDLISTVIEWSTYLE , 0, LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
LVC.mask=LVCF_TEXT | LVCF_WIDTH;
LVC.pszText=buffer;
lstrcpy((char *)&buffer,"PID");
LVC.cx=70;
SendMessage (hLIST, LVM_INSERTCOLUMN, 0, (LONG)&LVC);
lstrcpy((char *)&buffer,"Process");
LVC.cx=120;
SendMessage (hLIST, LVM_INSERTCOLUMN, 0, (LONG)&LVC);
break;
}
case WM_CLOSE:
{
if (sendsock) {closesocket(sendsock);sendsock=0;}
closesocket(listen_Sock);
WSACleanup();
DestroyIcon(mainIcon);
//DestroyMenu(hPopup);
EndDialog(hwnd,0);
DestroyWindow(hwnd);
PostQuitMessage(0);
break;
}
case WM_COMMAND:
{
switch (LOWORD(wParam))
{
case IDPM_CONNS:
{
ShowWindow(hCONNS,SW_SHOW);
break;
}
case IDPM_SCREEN:
{
i=SendCommand('S');
if (i)
{
HANDLE img_File = CreateFile("portr.jpg", GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if (img_File!=INVALID_HANDLE_VALUE)
{
DWORD ii;
WriteFile(img_File, (byte*)buffer, i, &ii, NULL);
CloseHandle(img_File);
}
}
break;
}
case IDPM_PROC:
{
SendCommand('P');
ListView_DeleteAllItems(hLIST);
CurChar=(char *)&buffer;
a=1;
while (a!=0)
{
IT.mask= LVIF_TEXT;
IT.iItem=0;
IT.iSubItem=0;
IT.pszText=CurChar;
SendMessage (hLIST,LVM_INSERTITEM, 0, (LONG)&IT);
a=lstrlen(CurChar);
CurChar+=a+1;
a=*(LONG *)CurChar;
CurChar+=4;
wsprintf((char *)&buff,"%X",(unsigned long)a);
IT.pszText=buff;
IT.iSubItem=1;
SendMessage(hLIST,LVM_SETITEMTEXT,0,(LONG)&IT);
a=*CurChar;
}
break;
}
}
}
}
return false;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -