zoukankan      html  css  js  c++  java
  • 使用VS开发的一个开机自启动启动、可接收指定数据关闭电脑或打开其他程序

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

    1. 为了能够在其他电脑上运行自己写的程序,需要在VS改一下编译的运行库。(项目->属性->配置属性->C/C++->代码生成->运行库->多线程调试(/MTd))
    2. 其中用到了开机自启动,我用到了注册表的方法。
     1 //定义路径最大程度
     2 //定义写入的注册表路径
     3 #define SELFSTART_REGEDIT_PATH "Software\Microsoft\Windows\CurrentVersion\Run\"
     4 
     5 //设置本身开机自启动 参数为true表示设置自启,为false 表示取消
     6  //获取程序完整路径
     7     char pName[MAX_PATH] = { 0 };
     8     GetModuleFileNameA(NULL, pName, MAX_PATH);
     9     //在注册表中写入启动信息
    10     HKEY hKey = NULL;
    11     LONG lRet = NULL;
    12     if (bKey)
    13     {
    14         //打开注册表
    15         lRet = RegOpenKeyExA(HKEY_CURRENT_USER, SELFSTART_REGEDIT_PATH, 0, KEY_ALL_ACCESS, &hKey);
    16         //判断是否成功
    17         if (lRet != ERROR_SUCCESS)
    18         {
    19             return;
    20         }
    21         else
    22         {
    23 
    24             //写入注册表,名为testProtect,可以自己修改
    25             RegSetValueExA(hKey, "My_Shutdown", 0, REG_SZ, (const unsigned char*)pName, strlen(pName) + sizeof(char));
    26             cout << "注册成功!" << endl;
    27             //关闭注册表
    28             RegCloseKey(hKey);
    29             return;
    30         }
    31     }
    32     else
    33     {
    34         lRet = RegOpenKeyExA(HKEY_CURRENT_USER, SELFSTART_REGEDIT_PATH, 0, KEY_ALL_ACCESS, &hKey);
    35         //判断是否成功
    36         if (lRet != ERROR_SUCCESS)
    37         {
    38             return;
    39         }
    40         else
    41         {
    42 
    43             //删除名为testProtect的注册表信息
    44             RegDeleteValueA(hKey, "My_Shutdown");
    45 
    46             //关闭注册表
    47             RegCloseKey(hKey);
    48             return;
    49         }
    50     }

      3. 我写的是一个控制台程序,而且并不需要一个窗口,所以我是用了一个宏:#pragma comment( linker, "/subsystem:windows /entry:mainCRTStartup" )

  • 相关阅读:
    洛谷P2192HXY玩卡片
    洛谷P1876开灯
    洛谷 P2515 [HAOI2010]软件安装(缩点+树形dp)
    洛谷 P2059 [JLOI2013]卡牌游戏(概率dp)
    洛谷 P3380 【模板】二逼平衡树(树套树)
    洛谷 P3157 [CQOI2011]动态逆序对(树套树)
    CF914E Palindromes in a Tree(点分治)
    洛谷 P2542 [AHOI2005]航线规划(Link-cut-tree)
    洛谷 P2495 [SDOI2011]消耗战(虚树,dp)
    洛谷 P4036 [JSOI2008]火星人(splay+字符串hash)
  • 原文地址:https://www.cnblogs.com/showonce/p/13562462.html
Copyright © 2011-2022 走看看