windows下 Winobj.exe工具使用说明c++

1、winobj.exe工具下载地址

WinObj - Sysinternals | Microsoft Learn

2、接下来用winobj.exe查看全局互斥,先写一个小例子

#include <iostream>
#include <stdlib.h> 
#include <tchar.h>
#include <string> 
#include <windows.h>

int main()
{
	std::wstring mutex_name(L"Global\\jdtest-{15415F33-1588-43B4-81D1-4EA5E288415C}");
	HANDLE m_hMutex = CreateMutex(NULL, TRUE, mutex_name.c_str());
	if (GetLastError() == ERROR_ALREADY_EXISTS) {

		std::cout << "已经有程序在运行\n";
	}
	else
	{
		std::cout << "hello wold\n";
	}
	system("pause");
	return 0;
}

3、将测试例子运行起来之后在winobj,exe中搜索"jdtest"即可看到已创建的互斥

题外话:其实利用创建的互斥可以用来禁止其他单实例的进程运行,找到那个进程的互斥名字,自己在创建一个同样名字的互斥进程即可。你懂的!!

查看进程创建的互斥量名字简单的可以用ida汇编看看,本人不才,上个小例子供大家参考:

用ida打开刚才写好的进程test001.exe

标红处既是互斥名字,关键点搜CreateMutex函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值