使用VS开发的一个开机自启动启动、可接收指定数据关闭电脑或打开其他程序
使用VS开发的一个开机自启动启动、可接收指定数据关闭电脑或打开其他程序需要注意的几点
- 为了能够在其他电脑上运行自己写的程序,需要在VS改一下编译的运行库。(项目->属性->配置属性->C/C++->代码生成->运行库->多线程调试(/MTd))
- 其中用到了开机自启动,我用到了注册表的方法。
//定义路径最大程度
//定义写入的注册表路径
#define SELFSTART_REGEDIT_PATH "Software\\Microsoft\\Windows\\CurrentVersion\\Run\\" //设置本身开机自启动 参数为true表示设置自启,为false 表示取消
//获取程序完整路径
char pName[MAX_PATH] = { };
GetModuleFileNameA(NULL, pName, MAX_PATH);
//在注册表中写入启动信息
HKEY hKey = NULL;
LONG lRet = NULL;
if (bKey)
{
//打开注册表
lRet = RegOpenKeyExA(HKEY_CURRENT_USER, SELFSTART_REGEDIT_PATH, , KEY_ALL_ACCESS, &hKey);
//判断是否成功
if (lRet != ERROR_SUCCESS)
{
return;
}
else
{ //写入注册表,名为testProtect,可以自己修改
RegSetValueExA(hKey, "My_Shutdown", , REG_SZ, (const unsigned char*)pName, strlen(pName) + sizeof(char));
cout << "注册成功!" << endl;
//关闭注册表
RegCloseKey(hKey);
return;
}
}
else
{
lRet = RegOpenKeyExA(HKEY_CURRENT_USER, SELFSTART_REGEDIT_PATH, , KEY_ALL_ACCESS, &hKey);
//判断是否成功
if (lRet != ERROR_SUCCESS)
{
return;
}
else
{ //删除名为testProtect的注册表信息
RegDeleteValueA(hKey, "My_Shutdown"); //关闭注册表
RegCloseKey(hKey);
return;
}
}
3. 我写的是一个控制台程序,而且并不需要一个窗口,所以我是用了一个宏:#pragma comment( linker, "/subsystem:windows /entry:mainCRTStartup" )
使用VS开发的一个开机自启动启动、可接收指定数据关闭电脑或打开其他程序的更多相关文章
- Android开机自启动程序
背景知识:当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字符串常量表示为 android.intent.action.BOOT_COMPLETED. ...
- Kali 2017 使用SSH进行远程登录 设置 ssh 开机自启动
一.配置SSH参数 修改sshd_config文件,命令为: vi /etc/ssh/sshd_config 输入“ /Pass ”回车搜索 找到#PasswordAuthentication no的 ...
- 如何把一个c语言程序做成windows服务开机自启动
原文:如何把一个c语言程序做成windows服务开机自启动 目前写的程序是一个用c语言实现socket侦听的,那么如何把这个程序做成开机自启动呢? 我们是通过vs6.0,编译后生成了.exe文件,然后 ...
- ubuntu16.04 程序开机自启动设置及启动优化
使用过程中,为了方便使用,有一些程序需要开机时自启动应用,下面将介绍一下ubuntu16.04下程序的开机自启动设置方法. 1 建立一个可执行程序的运行脚本如 keepalive.sh.内部写入要执 ...
- C# winform程序实现开机自启动,并且识别是开机启动还是双击启动
开机启动程序,在很多场合都会用到,尤其是那种在后台运行的程序. 效果图: 以上两幅图都用到了命令行启动程序,为了模拟开机启动或者其他程序调用此程序. 第一幅图:程序启动可以根据不同参数,执行不同的操作 ...
- C# WPF开机自启动和只允许一个程序运行
本文出自:https://www.cnblogs.com/2186009311CFF/p/10024949.html 在App.xaml.cs填充一下内容,即可实现只允许一个运行,且不解锁屏幕的情况下 ...
- Android中app开机自启动的开发
(1)首先添加权限开机启动权限 <!--开机启动权限--> <uses-permission android:name="android.permission.RECEIV ...
- Linux Oracle服务启动&停止脚本与开机自启动
在CentOS 6.3下安装完Oracle 10g R2,重开机之后,你会发现Oracle没有自行启动,这是正常的,因为在Linux下安装Oracle的确不会自行启动,必须要自行设定相关参数,首先先介 ...
- linux 让一个程序开机自启动并把一个程序加为服务
本文以tomcat7为例 首先找到tomcat启动的目录,我的为 cd /usr/local/tomcat7/bin/ 这个目录 启动脚本是startup.sh 然后在/etc/rc.d/rc.loc ...
随机推荐
- 如何在Linux下的C++文件使用GDB调试
首先在Linux下写好一个.Cpp的文件. #include<stdio.h> #include<stdlib.h> using namespace std; void sho ...
- Python修改元组
Python修改元组:元组中的元素值是不允许修改的,当创建好的时候就是固定不变的.所谓的修改其实是指创建一个新的元组,只是该元组可能是比原来的元组多一个元素或者少一个元素,然后使用新创建好的元组代替原 ...
- Pandas 复习
1.导包 import pandas as pd 2.数据读取,文件在该代码文件夹内 food_info = pd.read_csv('food_info.csv') 3.查看类型 food_info ...
- Hexo 静态博客指南:建站教程(上)
本文最初发布于我的个人博客Bambrow's Blog,采用 BY-NC-SA 许可协议,转载请注明出处.若有后续更新,将更新于原博客.欢迎去我的博客阅读更多文章! 本文详细记录一下站点建立过程,以便 ...
- Vue Router详细教程
1.什么是路由 1.1路由简介 说起路由你想起了什么?路由是一个网络工程里面的术语. 路由(routing)就是通过互联的网络把信息从源地址传输到目的地址的活动. --- 维基百科 额,啥玩意? 没听 ...
- java多线程之锁 -- 偏向锁、轻量级锁、自旋锁、重量级锁
转载至:https://blog.csdn.net/zqz_zqz/article/details/70233767 之前做过一个测试,详情见这篇文章<多线程 +1操作的几种实现方式,及效率对比 ...
- Python爬取10000条“爆款剧”——《三十而已》热评,并做可视化
前言 继<隐秘的角落>后,又一部“爆款剧”——<三十而已>获得了口碑收视双丰收,王漫妮.顾佳.钟晓芹三个女主角的故事线频频登上微博热搜.该剧于2020年7月17日在东方卫视首播 ...
- 声明式事务xml Spring
!--JDBC事务管理器--><bean id="tansactionManager" class="org.springframework.jdbc.dat ...
- python3.4嵌套循环项目:买房分期付款(1)
#案例:买房分期付款24万(10年期限) i=1#定义年份sum1=0while i<=10: print("第",i,"年到了......") j=1# ...
- 响应式Web设计与CSS(上)
1.一个例子 响应式Web设计最核心的一点,就是可以适配不同视口大小的流式布局. 1.1 简单上手 <div class="row"> <header class ...