C#-检测应用程序是否已由其他程序启动

C#-检测应用程序是否已由其他程序启动,c#,startup,detect,C#,Startup,Detect,我已经为我的游戏制作了一个发射器,发射器会自动下载并修补游戏。 但是,我怎样才能检查游戏是否由发射器启动?有没有不使用命令行参数的方法?如果您的启动器是.net应用程序,您可以不从命令行启动应用程序,而是通过调用Main()函数(从导出的类)来启动应用程序 如果您的启动器不是.net应用程序,并且您的应用程序仅在Windows上运行,那么您可以尝试从主应用程序中查找启动器窗口(使用FindWindow函数),使用sendmagesWinApi函数发送消息,并检查结果 这些文章可能有用:

我已经为我的游戏制作了一个发射器,发射器会自动下载并修补游戏。
但是,我怎样才能检查游戏是否由发射器启动?有没有不使用命令行参数的方法?

如果您的启动器是.net应用程序,您可以不从命令行启动应用程序,而是通过调用
Main()
函数(从导出的类)来启动应用程序

如果您的启动器不是.net应用程序,并且您的应用程序仅在Windows上运行,那么您可以尝试从主应用程序中查找启动器窗口(使用
FindWindow
函数),使用
sendmages
WinApi函数发送消息,并检查结果

这些文章可能有用:


  • 你可以让launcher添加一些日志,然后在游戏开始时检查日志文件有趣的问题。当然这是可能的,但我认为这可能是特定于平台的。好吧,如果你不只是调用“mygame.exe”,你可以使用.net使用exe,让主例程执行“关闭,不要直接调用我”,然后使用其中的类等。。。也许吧。好吧,但是如果其他人反编译我的启动器,他可以自己制作,游戏就可以顺利开始了?如何通过调用Main()方法开始游戏?(我的游戏是Unity制作的)@Unity ThiagoSouza为了防止有人制造新的发射器,你应该使用模糊处理。要从启动器运行
    Main()
    方法,您应该向unity制作的
    Game.exe
    Game.dll
    添加引用。之后,您可以创建类的对象(如
    MyGameNamespace.MyGameClass
    )(如果它不是静态的),并运行
    Main()
    方法。