summaryrefslogtreecommitdiff
path: root/protocols/ConnectionNotify/src/pid2name.cpp
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2019-03-02 12:32:44 +0300
committerGeorge Hazan <ghazan@miranda.im>2019-03-02 12:32:55 +0300
commit931a7dc1ac0dbc7e6c1083583ced915e572f5b47 (patch)
tree9fe9a6448d44030e26aa7107ce16044ed413e0d0 /protocols/ConnectionNotify/src/pid2name.cpp
parentdd7d9954042254e66e3bbbec7195c6be8b1a0663 (diff)
all protocols (even virtual ones) moved to the Protocols folder
Diffstat (limited to 'protocols/ConnectionNotify/src/pid2name.cpp')
-rw-r--r--protocols/ConnectionNotify/src/pid2name.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/protocols/ConnectionNotify/src/pid2name.cpp b/protocols/ConnectionNotify/src/pid2name.cpp
new file mode 100644
index 0000000000..f5c10ca9e6
--- /dev/null
+++ b/protocols/ConnectionNotify/src/pid2name.cpp
@@ -0,0 +1,21 @@
+#include "stdafx.h"
+
+void pid2name(DWORD procid, wchar_t *buffer, size_t bufLen)
+{
+ PROCESSENTRY32 ProcessStruct;
+ ProcessStruct.dwSize = sizeof(PROCESSENTRY32);
+ HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
+ if (hSnap == INVALID_HANDLE_VALUE)
+ return;
+ if (Process32First(hSnap, &ProcessStruct) == FALSE)
+ return;
+
+ do {
+ if (ProcessStruct.th32ProcessID == procid) {
+ wcsncpy_s(buffer, bufLen, ProcessStruct.szExeFile, _TRUNCATE);
+ break;
+ }
+ } while (Process32Next(hSnap, &ProcessStruct));
+
+ CloseHandle(hSnap);
+}