小编Gri*_*ron的帖子

检查应用程序是否从Visual Studio中启动

我正在开发一个安装系统范围键盘钩子的应用程序.当我从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)

我称之为"蛮力方式",这在我的设置中有效,但我想知道是否有另一种(更好的)方法来检测这种情况.

debugging visual-studio

35
推荐指数
3
解决办法
2万
查看次数

防止自动化

我们的下一个项目之一应该是基于MS Windows的游戏(用C#编写,具有winform GUI和集成的DirectX显示控件),供想要向最佳玩家赠送奖品的客户使用.该项目旨在运行几年,包括锦标赛,阶梯,锦标赛,球员与球员动作等.

这里的一个主要问题是作弊,因为玩家如果能够 - 例如 - 让一个定制的机器人为他玩游戏(在战略决策方面比在玩很多小时方面更多)会受益匪浅.

所以我的问题是:我们有什么技术可能来检测机器人活动?我们当然可以跟踪播放的小时数,分析检测异常的策略等等,但就这个问题而言,我更想知道像

  • 如何检测另一个应用程序是否制作定期截图?
  • 如何检测另一个应用程序是否扫描我们的进程内存
  • 什么是确定用户输入(鼠标移动,键盘输入)是人为生成而非自动化的好方法?
  • 是否可以检测另一个应用程序是否请求有关我们的应用程序中的控件的信息(控件的位置等)?
  • 还有哪些其他方式可以让骗子收集有关当前游戏状态的信息,将这些信息提供给机器人并将确定的操作发送回客户端?

非常感谢您的反馈!

automation protection bots

7
推荐指数
2
解决办法
2032
查看次数

您使用Visual Studio 2005/2008的哪些(第三方)调试可视化工具?

我想这个主题经常被监督,但在调试代码时非常有用.就在今天,我偶然发现了这个简单但有效的可视化工具,可视化图像(它在德国博客上,但我想代码内容是不言自明的):

链接文字

我想知道在VS2005/2008的日常工作中使用哪些调试可视化工具.

c# debuggervisualizer visual-studio

6
推荐指数
1
解决办法
1183
查看次数