VC++ 设定Windows程序自启动(非管理员权限)

2023-11-08

Windows程序自启动方式有很多种:任务计划、注册表、启动项等等。创建任务计划和启动项,都需要程序具有管理员权限才能写入,在此略过,只介绍启动项方式。要实现启动项方式,必须要知道当前用户下启动项方式的目录,我们才好将程序或程序的快捷方式存放进去。

1、获取启动项目录

/*得到用户启动项路径*/
BOOL GetUserProfilePath(char *pszUserProfilePath)
{
	int iLength = GetEnvironmentVariable("UserProfile", pszUserProfilePath, MAX_PATH);
	if (!iLength)
		return FALSE;
	
	pszUserProfilePath[iLength] = '\0';
	char *lpUsePath = "\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup";
	strcat(pszUserProfilePath, lpUsePath);
	return TRUE;
}

2、创建程序自启动快捷方式

/*
在程序组添加程序(自身)的快捷方式
如果是给其它程序添加快捷方式,将lpFullFileName换成其它程序的完整路径即可
*/
BOOL CreateAutoRunShortcut(LPCSTR lpszDescription)
{
	char  szPath[MAX_PATH] = { 0 };
	if (GetUserProfilePath(szPath))
	{
		char lpszLinkName[MAX_PATH] = { 0 };
		memset(lpszLinkName, 0, MAX_PATH);
		strcpy_s(lpszLinkName, lpszDescription);
		s
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VC++ 设定Windows程序自启动(非管理员权限) 的相关文章

  • JS 元素遍历

    1 循环遍历从getElementsByClassName返回的所有元素 var elements document getElementsByClassName classname Array prototype forEach call
  • Gh0st 远程管理系统新概念

    接触Gh0st有很长一段时间了 对于插件或是界面已然是轻车熟路 从下月开始将分章节系统性详细讲解架构模式 以及如何设计自己企业的远控管理软件
  • VC++ 控制台程序常用接口

    1 申请一个控制台窗口 如果程序本身是控制台程序 可以不用调用 AllocConsole 2 获取控制台屏幕缓冲区的句柄 HANDLE m hConsole GetStdHandle STD OUTPUT HANDLE 3 设置控制台标题
  • C++ 多语言切换

    如果设置UI资源文件非重点不做介绍 设置英文版接口 SetThreadUILanguage MAKELANGID LANG ENGLISH SUBLANG ENGLISH US 此时如果操作系统的语言选择的是简体中文 那么掉系统的AfxMe
  • GPAC MP4文件写入(支持H264、H265)

    1 GPAC模块下载链接https github com gpac gpac或https gpac wp imt fr downloads 2 编译指导https github com gpac gpac wiki Build Introd
  • VC++ HBITMAP保存文件

    请先看下面这段代码 BOOL SaveBmp HBITMAP bmp string path FILE f fopen path c str wb if f return 0 BITMAP bmpinfo GetObject bmp siz
  • C++类上使用属性(__declspec property)

    原始代码如下 class A private int m nIndex public int getIndex return m nIndex void setIndex int value m nIndex value 如果采用属性方式实
  • OpenGL GLFW入门篇 - 画点集

    效果图 主体代码 void DrawPoints void int i GLfloat x y glPushMatrix 另一个相对的Z平移可以分离对象 glLoadIdentity glTranslatef 0 0 0 0 0 f 设置点
  • VC++ 程序启动即隐藏

    所谓的隐藏是程序启动后不显示主窗体 网上介绍了很多方法 是否达到效果 众说纷纭 这里只介绍一种在项目中实际应用到的切实可行的方法 这里假设主窗体为CMainDialog 1 变量声明 BOOL m bShowWindow 2 给变量赋初始值
  • 通过GetVersionEx和ntoskrnl.exe获取操作系统版本号

    include
  • C++ 标准库中数据类型转换

    头文件引用
  • C++ 基本的输入输出

    C 标准库提供了一组丰富的输入 输出功能 我们将在后续的章节进行介绍 本章将讨论 C 编程中最基本和最常见的 I O 操作 C 的 I O 发生在流中 流是字节序列 如果字节流是从设备 如键盘 磁盘驱动器 网络连接等 流向内存 这叫做输入操
  • GDI+ 显示GIF图像

    头文件定义 pragma once include
  • VC++ OpenCV4.x二维码识别

    自OpenCV4 x开始 二维码识别已经悄然进入 再也不用看zbar脸色了 以下是官网发布的源码 include opencv2 objdetect hpp include opencv2 imgproc hpp include openc
  • OpenSSL RSA加密和解密

    rsa加密的密钥格式常见的有两种 一种是PKCS 1 密钥头为 BEGIN RSA PUBLIC KEY 一种是PKCS 8 密钥头为 BEGIN PUBLIC KEY 以字符串公钥为例 对PKCS 1格式的密钥加载使用的函数是PEM re
  • GmSSL 在Windows上的使用(编译和使用)

    1 源码的下载 GitHub guanzhi GmSSL 支持国密SM2 SM3 SM4 SM9 SSL的密码工具箱 2 编译工具的下载 首先安装VS开发工具 接着下载ActivePerl 打开VS命令提示符 管理员权限 并切换到 Acti
  • CStdioFile扩展(支持Ansi、Unicode、Utf-8等文本格式)

    头文件声明 CStdioFileEx h StdioFileEx h interface for the CStdioFileEx class Version 1 1 23 August 2003 Incorporated fixes fr
  • 主线程消息处理

    写程序过程中 往往会遇到在按钮时间中执行一个循环事件 for while 耗费比较长的时候 这个时候会造成界面的假死想象 对于经常写程序的人来说 解决起来相对比较容易 创建一个子线程 然后把事件放到子线程执行 但是对于初学者而言 创建子线程
  • VC++ FTP文件下传(断点续传)

    include
  • C++ StrCmpLogicalW文件名排序

    打开资源管理器 文件列表如下 搜索文件列表 include

随机推荐

  • 03-Linux错误:ping外网报错Name or service not known

    问题描述 CentOS 当执行ping www baidu com命令的时候 提示Name or service not known root centos01 ping www baidu comping www baidu com Na
  • react18.0.0+ts路由配置

    1 下载依赖 npm i react router dom 5 2 0 react router config types react router config types react router dom S 2 在src目录下创建vi
  • 新闻稿的制作流程:从确定新闻稿目的到将其分发给媒体

    对于任何希望向媒体和公众传达具有新闻价值的信息的组织来说 新闻稿都是必不可少的工具 精心制作的新闻稿可以帮助您宣传您的业务 产品或服务 并可以产生有价值的媒体报道 在本文中 我们将指导您完成新闻稿的制作过程 从确定新闻稿的目的到将其分发给媒
  • matlab 中生成随机数的几种方法

    0 1 均匀分布 X rand sz1 szN 返回由随机数组成的 sz1 szN 数组 其中 sz1 szN 指示每个维度的大小 例如 rand 3 4 返回一个 3 4 的矩阵 a b 均匀分布 X unifrnd a b m n 返回
  • VPN的原理

    VPN Virtual Private Network 指代虚拟私有网络 利用隧道协议 Tunneling Protocol 来达到发送端认证 消息保密与准确性等功能 以 CS 架构运行 可以简单理解 VPN 的实现流程为 由 VPN cl
  • C++ Namespace命名空间和static的用法总结

    Namespaces are used to prevent name conflicts Ways to Use Namespace Identifiers use a qualified name consisting of the n
  • python爬虫——爬取网页中的图片(正则表达式)

    爬取网站 站长之家 网址 辞旧迎新 字体超市携各品牌字体一起来送虎年祝福啦 import requests import re import os if name main 创建一个文件夹 用于保存所有的图片 if not os path
  • 【java连接数据库】idea、MySQL5.7和SQLyog工具

    要求 java连接MySQL数据库 可替换成其他数据库 版本也不一定要和这里完全相同 我只是把我用到的贴上来 不管用什么版本和软件 连接成功即可 所用到的软件和工具如下 1 idea2021 1 2版本 2 mysql5 7 msi版本 安
  • matlab 取数组第一行,matlab中如取数组的矩阵的一行出来成为一个向量?

    答 A 2 意思是取第2行 所有列 答 1 可以通过zeros函数进行赋值 输入a zeros 2 3 生成了一个全0矩阵 如下图所示 2 可以直接使用a 1 3 5方式进行矩阵赋值 a矩阵第1行第3列赋值成5了 如下图所示 3 使用 a
  • 利用Google Colab免费使用GPU服务器详细攻略

    目录 前言 一 Colab限额 提供的GPU类型 二 Colab的使用步骤 如何使用免费GPU资源 1 添加Colaboratory 2 新建Colab 连接GPU 挂载Google Driver 3 项目上传文件并运行 三 快速下载 上传
  • Linux进程编程常用函数详解——vfork()和exec()函数

    vfork 函数原型
  • 如何调试R程序(转载)

    R语言的调试重要性不言而喻 这段时间准备改进一个R的包 但由于接触R时间不长 中间的很多东西不懂 需要重新打包调试 以对里面的很多程序有深入了解 下面从几个方面分享一下我的收获 1 准备工作 a R软件的下载http cran r proj
  • 看完这篇Vue-element-admin,跟面试官聊骚没问题

    Vue element admin vue element admin 是一个后台前端解决方案 它基于 vue 和 element ui实现 它使用了最新的前端技术栈 内置了 i18 国际化解决方案 动态路由 权限验证 提炼了典型的业务模型
  • leetcode算法题--回文数

    原文链接 https leetcode cn com problems palindrome number bool isPalindrome int x if x lt 0 x 10 0 x 0 如何x为负 或者如果x的最后一个数为0 那
  • Go-获取今天、昨天、前天以及指定时间范围的格式化日期的开始和结束的时间戳

    func GetHourTime timeType start end string startTime endTime int64 switch timeType case 1 今天 dateNow time Now startTime
  • Python文件路径操作汇总,获取文件夹下的所有文件路径

    在Python编程过程中 我们常常有这样的需求 需要获取某一个文件目录下的所有文件 或获取文件目录下的所有指定后缀名的文件 亦或要求获取该文件所在的文件夹 还有可能需要替换文件名 删除文件夹 针对这些问题 本文系统总结了这些方法 以供大家参
  • 如何在React中写出有趣的数字滚动动画

    前段时间公司项目需要迭代更新 在这个更新的过程中就添加了一个大数据的数字滚动效果 这让我发现了一个既有趣上手又快的React插件 下面我们看看效果如何 官网的demo https inorganik github io countUp js
  • java中类名一定要和java文件名一致吗?

    结论 首先java中类名不一定要和java文件名一致 是否一致需要分情况 其次java中可以有多个类 但是最多只有一个类的类名和文件名相同 如果一个类被public修饰 那该类的类名必须和文件名相同 并且一个java文件中最多只有一个类被p
  • 学习matlab(十八)——小波分析

    小波分析克服了短时傅里叶变换在单分辨率上的缺陷 具有多分辨率分析的特点 下面对小波分析的基本理论进行介绍 包括连续小波变换 离散小波变换 多分辨分析和小波包分析 最后介绍在小波分析中常用的小波 小波变换采用随频率的时间 频率窗口 是进行信号
  • VC++ 设定Windows程序自启动(非管理员权限)

    Windows程序自启动方式有很多种 任务计划 注册表 启动项等等 创建任务计划和启动项 都需要程序具有管理员权限才能写入 在此略过 只介绍启动项方式 要实现启动项方式 必须要知道当前用户下启动项方式的目录 我们才好将程序或程序的快捷方式存