使用VS开发的一个开机自启动启动、可接收指定数据关闭电脑或打开其他程序需要注意的几点

  1. 为了能够在其他电脑上运行自己写的程序,需要在VS改一下编译的运行库。(项目->属性->配置属性->C/C++->代码生成->运行库->多线程调试(/MTd))
  2. 其中用到了开机自启动,我用到了注册表的方法。
 //定义路径最大程度
//定义写入的注册表路径
#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开发的一个开机自启动启动、可接收指定数据关闭电脑或打开其他程序的更多相关文章

  1. Android开机自启动程序

    背景知识:当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字符串常量表示为 android.intent.action.BOOT_COMPLETED. ...

  2. Kali 2017 使用SSH进行远程登录 设置 ssh 开机自启动

    一.配置SSH参数 修改sshd_config文件,命令为: vi /etc/ssh/sshd_config 输入“ /Pass ”回车搜索 找到#PasswordAuthentication no的 ...

  3. 如何把一个c语言程序做成windows服务开机自启动

    原文:如何把一个c语言程序做成windows服务开机自启动 目前写的程序是一个用c语言实现socket侦听的,那么如何把这个程序做成开机自启动呢? 我们是通过vs6.0,编译后生成了.exe文件,然后 ...

  4. ubuntu16.04 程序开机自启动设置及启动优化

    使用过程中,为了方便使用,有一些程序需要开机时自启动应用,下面将介绍一下ubuntu16.04下程序的开机自启动设置方法. 1  建立一个可执行程序的运行脚本如 keepalive.sh.内部写入要执 ...

  5. C# winform程序实现开机自启动,并且识别是开机启动还是双击启动

    开机启动程序,在很多场合都会用到,尤其是那种在后台运行的程序. 效果图: 以上两幅图都用到了命令行启动程序,为了模拟开机启动或者其他程序调用此程序. 第一幅图:程序启动可以根据不同参数,执行不同的操作 ...

  6. C# WPF开机自启动和只允许一个程序运行

    本文出自:https://www.cnblogs.com/2186009311CFF/p/10024949.html 在App.xaml.cs填充一下内容,即可实现只允许一个运行,且不解锁屏幕的情况下 ...

  7. Android中app开机自启动的开发

    (1)首先添加权限开机启动权限 <!--开机启动权限--> <uses-permission android:name="android.permission.RECEIV ...

  8. Linux Oracle服务启动&停止脚本与开机自启动

    在CentOS 6.3下安装完Oracle 10g R2,重开机之后,你会发现Oracle没有自行启动,这是正常的,因为在Linux下安装Oracle的确不会自行启动,必须要自行设定相关参数,首先先介 ...

  9. linux 让一个程序开机自启动并把一个程序加为服务

    本文以tomcat7为例 首先找到tomcat启动的目录,我的为 cd /usr/local/tomcat7/bin/ 这个目录 启动脚本是startup.sh 然后在/etc/rc.d/rc.loc ...

随机推荐

  1. ElasticSearch 基础入门 and 操作索引 and 操作文档

    基本概念 索引: 类似于MySQL的表.索引的结构为全文搜索作准备,不存储原始的数据. 索引可以做分布式.每一个索引有一个或者多个分片 shard.每一个分片可以有多个副本 replica. 文档: ...

  2. luogu P3829 [SHOI2012]信用卡凸包 凸包 点的旋转

    LINK:信用卡凸包 当 R==0的时候显然是一个点的旋转 之后再求凸包即可. 这里先说点如何旋转 如果是根据原点旋转的话 经过一个繁杂的推导可以得到一个矩阵. [cosw,-sinw] [sinw, ...

  3. 最优化算法【牛顿法、拟牛顿法、BFGS算法】

    一.牛顿法 对于优化函数\(f(x)\),在\(x_0\)处泰勒展开, \[f(x)=f(x_0)+f^{'}(x_0)(x-x_0)+o(\Delta x) \] 去其线性部分,忽略高阶无穷小,令\ ...

  4. cocos2d-x_下载游戏引擎并创建第一个项目

    我是一名小白. 下载并创建游戏项目 第一步:去官网下载cocos2d-x http://www.cocos.com/download 第二步:将安装包里边的 setup.py 拖进命令行点击回车键 , ...

  5. Linux 安装 PostgreSQL

    Linux 安装 PostgreSQL CentOS 7 安装 PostgreSQL 10 步骤 官网安装步骤,选择服务器和数据库版本,会给出相应的安装命令 # 安装 yum install -y h ...

  6. 算法学习笔记:2-SAT

    SAT 是适定性(Satisfiability)问题的简称.一般形式为 k - 适定性问题,简称 k-SAT.而当 \(k>2\) 时该问题为 NP 完全的.所以我们只研究 \(k=2\) 的情 ...

  7. Dubbo系列之 (二)Registry注册中心-注册(1)

    引导 dubbo的服务的注册与发现,需要通过第三方注册中心来协助完成,目前dubbo支持的注册中心包括 zookeeper,consul,etcd3,eureka,nacas,redis,sofa.这 ...

  8. 【java】解决java compiler level does not match the version of the installed java project facet

    翻译内容:java编译器jdk版本与安装的java项目方面的版本不匹配 修改编译器jdk版本 项目右键选择->properties 如果项目的开发版本为,jdk1.8 ,选择修改为1.8 ,点击 ...

  9. C#LeetCode刷题之#40-组合总和 II(Combination Sum II)

    目录 问题 示例 分析 问题 该文章已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3666 访问. 给定一个数组 candidates ...

  10. Css 图片自适应

    设置 CSS .container{ overflow:auto; } img{ width:100%; height:auto; overflow:hidden; } 设置 template < ...