![]() |
1
3
你的“清洁”充其量是一种人工构造。如果你告诉用户在启动文件夹中创建一个快捷方式,你已经留下了一个足迹(老实说,“myprog.exe”和“myprog.exe-m”之间没有什么区别)。在这种情况下,有一些比自动检测你的跑步方向更容易的方法。 我将在您的程序(“安装”)中提供一个菜单选项,然后将软件安装到固定的磁盘位置(而不是闪存驱动器),包括必要的程序条目(开始、所有程序、Cintanotes)。 作为该过程的一部分(甚至在安装之后),您可以让他们指定“从Windows开始”,然后为用户创建启动文件夹快捷方式。 具有 一个命令行选项,这样您的程序就可以知道它是否以这种方式运行。除非程序可用(即在固定磁盘上,而不是闪存驱动器上),否则不允许“从Windows开始”。 用户不必担心创建快捷方式,更不用说带参数的快捷方式了。这使您的程序可以控制它的运行方式——两种模式,“已安装”(和“最小化启动”)或“不先安装就运行”(和“正常启动”)。 类似于查找可执行文件的目录这样的操作不能简单地工作,因为启动程序的启动文件夹项很可能是指向它的快捷方式,所以您没有该路径。 我认为这是一个典型的提问错误的案例。在回答您的特定问题时,我说:不,如果没有命令行参数,就无法说明您是从启动文件夹条目启动的。但是,我以前是错的,只要问我妻子:—)。其他人可能知道一种方法。 将此添加为编辑,因为注释不允许有足够的空间: 你问:
这是个好主意,因为在安装前不允许自动运行是没有意义的(因为闪存驱动器可能不在那里)。一种可能性: 1/从flash运行时,您从“myprog.exe”开始,因为您只需双击可执行文件并在正常窗口中运行。这提供了“安装到固定磁盘”而不是“从Windows开始”的选项。作为安装过程的一部分,您可以允许他们将已安装的副本设置为“从Windows开始”,而不是当前正在运行的副本。 2/安装的程序可以设置为“myprog.exe-i”运行,因为您在start/allprograms中创建了该项。这将禁用“安装到固定磁盘”,但允许您切换“从Windows开始”。您可以选择是希望显式运行(由用户)启动正常还是最小化(请参见(3))。 3/启动时的快捷方式可以是“myprog.exe-s”(同样,您之所以控制它是因为您创建了它)。这与(2)相同,但启动最小化(如果(2)启动最小化,则(2)和(3)之间没有区别,并且没有理由使用不同的命令行选项)。 这样,每个选项都可以有您认为合适的不同行为。 |
![]() |
2
3
即使你已经解决了这个问题,我只是想说,它可以检测程序是否从快捷方式启动。一旦有了快捷方式路径,就可以将其与启动文件夹进行比较。 请参阅“检测是否从快捷方式启动可执行文件”一节。 AT Undocumented CreateProcess |
![]() |
3
1
检查注册表中的此项。 hkey_local_machine\software\microsoft\windows\currentversion\run并添加一个新的字符串键,将应用程序的路径作为值。并使用notifyiconda结构将应用程序最小化到托盘。 |
![]() |
4
0
为什么不使用一个参数来启动最小化的应用程序,比如:
|
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |