


Eine ausführliche Einführung in ein kleines Programm zum Löschen von Prozessen
Als ich mir die Windows-API ansah, schrieb ich als Übung ein Programm zum Löschen eines Prozesses. Ich denke, es enthält ziemlich viele Wissenspunkte, deshalb habe ich es als Notiz gepostet. Natürlich kann es zu Fehlern kommen, jeder Rat ist willkommen ^^
Die in diesem Artikel erwähnte Funktion zum Anpassen von Berechtigungen wurde auch verwendet, daher habe ich sie direkt aus dem Shutdown-Programm kopiert. Das Folgende ist das Programm mit Kommentaren an wichtigen Stellen.
看windows api的时候,作为练习,编写了个删除进程的程序。觉得里面知识点挺多的,所以贴上来当个笔记用。当然难免有错误,欢迎指教 ^^ 其中也用到了上篇文章里面说到的调整权限的函数,于是就直接从关机程序里面copy过来了。下面是程序,关键地方给了注释。 #include<stdio.h> #include<windows.h> #include<Tlhelp32.h> void ListProcess() //列出进程名称及ID { HANDLE hProcessSnap=NULL; PROCESSENTRY32 pe32={0}; //存放进程信息的结构体 hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); //创建系统所有进程的快照 if(hProcessSnap==INVALID_HANDLE_VALUE) { printf("CreateToolhelp32Snapshot failed: %d\n",GetLastError()); return; } pe32.dwSize=sizeof(PROCESSENTRY32); printf("ProcessName ProcessID\n"); if(Process32First(hProcessSnap,&pe32)) //指向第一个进程,并将其放入PROCESSENTRY32结构体中 { char c[5]; do { itoa(pe32.th32ProcessID,c,10); printf("%-30s%d\n",pe32.szExeFile,pe32.th32ProcessID); //szExeFile为进程的可执行文件名称 } while(Process32Next(hProcessSnap,&pe32)); } else { printf("Process32First() failed:%d\n",GetLastError()); } CloseHandle(hProcessSnap); return; } BOOL EnablePrivilege() //获取系统权限 { HANDLE hProcess = NULL; HANDLE hToken = NULL; LUID uID = {0}; TOKEN_PRIVILEGES stToken_Privileges = {0}; hProcess = GetCurrentProcess(); //获取当前应用程序进程句柄 if(!OpenProcessToken(hProcess,TOKEN_ADJUST_PRIVILEGES,&hToken)) //打开当前进程的访问令牌句柄 //(OpenProcessToken函数调用失败返回值为零) return FALSE; if(!LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&uID)) //获取权限名称为"SeShutdownPrivilege"的LUID //LookupPrivilegeValue函数调用失败返回值为零 return FALSE; stToken_Privileges.PrivilegeCount = 1; //欲调整的权限个数 stToken_Privileges.Privileges[0].Luid = uID; //权限的LUID stToken_Privileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; //权限的属性, //SE_PRIVILEGE_ENABLED为使能该权限 //调整访问令牌里的指定权限(AdjustTokenPrivileges函数调用失败返回值为零) if(!AdjustTokenPrivileges(hToken,FALSE,&stToken_Privileges,sizeof stToken_Privileges,NULL,NULL)) return FALSE; if(GetLastError() != ERROR_SUCCESS) //查看权限是否调整成功 return FALSE; CloseHandle(hToken); return TRUE; } bool KillProcess(DWORD id) { HANDLE hProcess=NULL,hProcessToken=NULL; bool isKilled=false,bRet=false; EnablePrivilege(); //调整权限 printf("Enable Privilege OK!\n"); if((hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,id))==NULL) //打开进程获得句柄 { printf("Open process %d failed: %d\n",id,GetLastError()); return false; } if(!TerminateProcess(hProcess,1)) //终结进程 { printf("TerminateProcess failed: %d\n",GetLastError()); return false; } isKilled=true; if(hProcessToken!=NULL) CloseHandle(hProcessToken); if(hProcess!=NULL) CloseHandle(hProcess); return isKilled; } void main() { int id=0; ListProcess(); while(1) { printf("选择要删除的进程ID:"); scanf("%d",&id); if(KillProcess(id)==true) { system("cls"); ListProcess(); } else printf("Failed!!"); } }
Das obige ist der detaillierte Inhalt vonEine ausführliche Einführung in ein kleines Programm zum Löschen von Prozessen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Mit der Popularität mobiler Internettechnologie und Smartphones ist WeChat zu einer unverzichtbaren Anwendung im Leben der Menschen geworden. Mit WeChat-Miniprogrammen können Benutzer Miniprogramme direkt verwenden, um einige einfache Anforderungen zu erfüllen, ohne Anwendungen herunterladen und installieren zu müssen. In diesem Artikel wird erläutert, wie Sie mit Python ein WeChat-Applet entwickeln. 1. Vorbereitung Bevor Sie Python zum Entwickeln des WeChat-Applets verwenden, müssen Sie die entsprechende Python-Bibliothek installieren. Hier empfiehlt es sich, die beiden Bibliotheken wxpy und itchat zu verwenden. wxpy ist eine WeChat-Maschine

Implementieren von Kartenumdreheffekten in WeChat-Miniprogrammen In WeChat-Miniprogrammen ist die Implementierung von Kartenumdreheffekten ein häufiger Animationseffekt, der die Benutzererfahrung und die Attraktivität von Schnittstelleninteraktionen verbessern kann. Im Folgenden wird detailliert beschrieben, wie der Kartenumdrehungseffekt im WeChat-Applet implementiert wird, und relevante Codebeispiele bereitgestellt. Zunächst müssen Sie in der Seitenlayoutdatei des Miniprogramms zwei Kartenelemente definieren, eines für die Anzeige des vorderen Inhalts und eines für die Anzeige des hinteren Inhalts. Der spezifische Beispielcode lautet wie folgt: <!--index.wxml-. ->&l

Laut Nachrichten dieser Website vom 31. Oktober und 27. Mai dieses Jahres kündigte die Ant Group den Start des „Chinese Character Picking Project“ an und leitete kürzlich neue Fortschritte ein: Alipay startete das Miniprogramm „Chinese Character Picking – Uncommon Characters“. um Sammlungen der Gesellschaft zu sammeln. Seltene Charaktere ergänzen die Bibliothek seltener Charaktere und bieten unterschiedliche Eingabeerlebnisse für seltene Charaktere, um die Eingabemethode für seltene Charaktere in Alipay zu verbessern. Derzeit können Benutzer das Applet „Ungewöhnliche Zeichen“ aufrufen, indem sie nach Schlüsselwörtern wie „Aufnehmen chinesischer Zeichen“ und „Seltene Zeichen“ suchen. Im Miniprogramm können Benutzer Bilder von seltenen Zeichen einreichen, die vom System nicht erkannt und eingegeben wurden. Nach der Bestätigung nehmen Alipay-Ingenieure zusätzliche Einträge in die Schriftartenbibliothek vor. Auf dieser Website wurde festgestellt, dass Benutzer im Miniprogramm auch die neueste Eingabemethode zur Wortteilung nutzen können. Diese Eingabemethode ist für seltene Wörter mit unklarer Aussprache konzipiert. Demontage durch den Benutzer

Miniprogramme können React verwenden. 1. Implementieren Sie einen Renderer basierend auf „React-Reconciler“ und generieren Sie eine Miniprogrammkomponente zum Parsen und Rendern von DSL. 3. Installieren Sie npm und führen Sie den Entwickler-Build aus npm im Tool; 4. Führen Sie das Paket auf Ihrer eigenen Seite ein und verwenden Sie dann die API, um die Entwicklung abzuschließen.

Wie Uniapp eine schnelle Konvertierung zwischen Miniprogrammen und H5 erreichen kann, erfordert spezifische Codebeispiele. Mit der Entwicklung des mobilen Internets und der Popularität von Smartphones sind Miniprogramme und H5 zu unverzichtbaren Anwendungsformen geworden. Als plattformübergreifendes Entwicklungsframework kann Uniapp die Konvertierung zwischen kleinen Programmen und H5 basierend auf einer Reihe von Codes schnell realisieren und so die Entwicklungseffizienz erheblich verbessern. In diesem Artikel wird vorgestellt, wie Uniapp eine schnelle Konvertierung zwischen Miniprogrammen und H5 erreichen kann, und es werden konkrete Codebeispiele gegeben. 1. Einführung in uniapp unia

Implementierungsidee x01 Servereinrichtung Zunächst wird auf der Serverseite ein Socket zum Empfangen von Nachrichten verwendet. Jedes Mal, wenn eine Socket-Anfrage angenommen wird, wird ein neuer Thread geöffnet, um die Verteilung und Annahme von Nachrichten zu verwalten Um alle Threads zu verwalten und damit die Verarbeitung verschiedener Funktionen des Chatrooms zu realisieren, ist die Einrichtung des x02-Clients viel einfacher als die des Servers. Die Funktion des Clients besteht lediglich darin, Nachrichten zu senden und zu empfangen und bestimmte Zeichen einzugeben Um die Verwendung unterschiedlicher Funktionen zu erreichen, müssen Sie daher auf der Clientseite nur zwei Threads verwenden, einen für den Empfang von Nachrichten und einen für das Senden von Nachrichten liegt daran, nur

Dieser Artikel bringt Ihnen einige verwandte Themen zu WeChat-Miniprogrammen. Er stellt vor allem die Verwendung öffentlicher Kontovorlagennachrichten in Miniprogrammen vor. Ich hoffe, dass er für alle hilfreich ist.

Geolocation-Positionierung und Kartenanzeige von PHP und Miniprogrammen Geolocation-Positionierung und Kartenanzeige sind zu einer der notwendigen Funktionen in der modernen Technologie geworden. Mit der Beliebtheit mobiler Geräte steigt auch der Bedarf der Menschen an Ortung und Kartendarstellung. Während des Entwicklungsprozesses sind PHP und Applets zwei gängige Technologien. In diesem Artikel werden Sie in die Implementierungsmethode der geografischen Standortpositionierung und Kartenanzeige in PHP und Miniprogrammen eingeführt und entsprechende Codebeispiele angehängt. 1. Geolokalisierung in PHP In PHP können wir die Geolokalisierung von Drittanbietern verwenden
