背景介绍
有时候需要在windows系统下开机自启动某个软件,这样就不用每次手工去启动了,尤其是一些后台服务。可以在不感知的情况下默默的在后台启动,从而默默的为我们提供服务。
比较常用的方法是在任务计划程序中添加需要自启动的软件,可以定制不同的触发条件。
但不同场景下设置的方法有些许差异,否则可能无法得到预期的效果。
场景分类
1、自启动的软件没有UI界面,只是个后台服务
2、自启动的软件有UI界面,需要显示界面
3、自启动的软件启动后有个黑框怎么办,如果隐藏
如果设置
场景一:自启动的软件没有UI界面,只是个后台服务
1、在windows的任务栏的搜索框里输入任务计划程序,然后打开
2、然后右键任务计划程序库,选择创建基本任务

3、然后按照指导创建,注意在触发器这里,选择计算机启动时执行

4、启动程序选择需要自启动的软件

5、完成前勾选下面的对话框

6、弹框后选择如下1,2,3,然后确定即可。

通过上面的设置后,软件在计算机启动时被拉起后在后台运行,并且不管用户是否登录系统都会被拉起。

场景二:自启动的软件有UI界面,需要显示界面
自启动的软件有UI界面是不能以后台程序的方式启动的,那样的话UI界面无法显示。那如何让自启动的软件可以显示界面呢?答案是在用户登录后再启动软件。
整个设置步骤和上面场景一类似,差异步骤如下:
3、然后按照指导创建,注意在触发器这里,选择当前用户登录时执行

6、弹框后选择如下1,2,然后确定即可。

通过上面的设置,软件会在用户登录系统后被拉起,软件的界面也可以正常显示出来。
但这里又会带来另一个问题:软件的拉起依赖用户登录系统,对于一些不方便登录的场景比较麻烦。这里可以通过操作系统启动后自动登录来解决,可以参考我的另一篇博文去设置。
场景三:自启动的软件启动后有个黑框怎么办,如果隐藏
假如你的软件是用QT Widget开发的,或者Visual stuido的窗体开发的,那么软件在启动后会带有一个黑色的对话框,那怎么把它去掉呢?
1、如果自启动的软件是后台运行的,也就是场景一的情况,那么恭喜你,设置成后台运行后这个黑色框也不会显示出来的。
2、如果自启动软件是带UI的,也就是场景二的情况,那么设置成登录后启动时,这个黑色框也会显示出来的。但可以通过在构建的CMakeList.txt文件中添加如下选项来消除:
*# Remove the console of gui program* if(WIN32) if(MSVC) set_target_properties(${PROJECT_NAME} PROPERTIES WIN32_EXECUTABLE YES LINK_FLAGS "/ENTRY:mainCRTStartup" ) elseif(CMAKE_COMPILER_IS_GNUCXX) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mwindows") # Not tested else() message(SEND_ERROR "You are using an unsupported Windows compiler! (Not MSVC or GCC)") endif(MSVC) elseif(APPLE) set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE YES ) elseif(UNIX) # Nothing special required else() message(SEND_ERROR "You are on an unsupported platform! (Not Win32, Mac OS X or Unix)") endif(WIN32)
讯享网
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/40372.html