我正在开发一个安装系统范围键盘钩子的应用程序.当我从visual studio内部运行调试版本时,我不想安装这个钩子(否则它会挂起工作室,最终挂起系统),我可以通过检查是否定义了DEBUG符号来避免这种情况.
但是,当我调试应用程序的发布版本时,有没有办法检测它是否已从visual studio内部启动以避免同样的问题?因为我一直在处理发布版本,并且想要使用忘记切换回调试版本的调试器修复一些错误,所以必须重新启动工作室/计算机是非常烦人的.
目前我使用这样的方法来检查这种情况:
System.Diagnostics.Process currentProcess = System.Diagnostics.Process.GetCurrentProcess();
string moduleName = currentProcess.MainModule.ModuleName;
bool launchedFromStudio = moduleName.Contains(".vshost");
Run Code Online (Sandbox Code Playgroud)
我称之为"蛮力方式",这在我的设置中有效,但我想知道是否有另一种(更好的)方法来检测这种情况.
我们的下一个项目之一应该是基于MS Windows的游戏(用C#编写,具有winform GUI和集成的DirectX显示控件),供想要向最佳玩家赠送奖品的客户使用.该项目旨在运行几年,包括锦标赛,阶梯,锦标赛,球员与球员动作等.
这里的一个主要问题是作弊,因为玩家如果能够 - 例如 - 让一个定制的机器人为他玩游戏(在战略决策方面比在玩很多小时方面更多)会受益匪浅.
所以我的问题是:我们有什么技术可能来检测机器人活动?我们当然可以跟踪播放的小时数,分析检测异常的策略等等,但就这个问题而言,我更想知道像
非常感谢您的反馈!
我想这个主题经常被监督,但在调试代码时非常有用.就在今天,我偶然发现了这个简单但有效的可视化工具,可视化图像(它在德国博客上,但我想代码内容是不言自明的):
我想知道在VS2005/2008的日常工作中使用哪些调试可视化工具.