全球主机交流论坛

标题: 求助一个Windows问题 [打印本页]

作者: 云淡风清    时间: 2020-11-7 23:21
标题: 求助一个Windows问题
本帖最后由 云淡风清 于 2020-11-7 23:26 编辑

求助一个Windows问题
我想判断程序是否是在Windows启动后首次运行,有没有办法能实现?
谢谢!

类似Linux 有个boot_id

作者: nat.ee    时间: 2020-11-7 23:24
本帖最后由 nat.ee 于 2020-11-7 23:25 编辑

帮顶。
作者: hcyme    时间: 2020-11-7 23:32
有洁癖就不能用win,我是不玩游戏也不看hd,早就脱离了
作者: loveqianool    时间: 2020-11-8 00:25
我之前用过一个比较傻的方法。
使用 bat 脚本运行程序,运行之前向一个文本写 1 ,运行之后将文本的 1 改成 2 类似这样。

  1. @echo off
  2. set "paths=c:\z.txt"
  3. for %%a in ("%paths%") do (
  4.         if "%%~za" equ "0" (
  5.                 echo 1 >c:\z.txt
  6.                 w32tm /config /manualpeerlist:asia.pool.ntp.org /syncfromflags:manual /reliable:yes /update
  7.                 shutdown -r -t 60 /f /c "10 秒后将重启,请过几分钟再重新连接"
  8.         ) else (
  9.                 w32tm /config /manualpeerlist:asia.pool.ntp.org /syncfromflags:manual /reliable:yes /update
  10. ::                echo. 2>c:\z.txt
  11.         )
  12. )
复制代码

作者: 云淡风清    时间: 2020-11-8 00:46
loveqianool 发表于 2020-11-8 00:25
我之前用过一个比较傻的方法。
使用 bat 脚本运行程序,运行之前向一个文本写 1 ,运行之后将文本的 1 改成 ...

感谢分享,不过这不能实现判断是不是系统启动后首次运行。
比如每次系统启动后,首次运行时弹窗1
作者: loveqianool    时间: 2020-11-8 01:02
云淡风清 发表于 2020-11-8 00:46
感谢分享,不过这不能实现判断是不是系统启动后首次运行。
比如每次系统启动后,首次运行时弹窗1 ...

改一下呀,首次运行写入系统时间,之后判断文本有数据就不运行。
关机将文本重命名,并将文本重置为空。
这样即可记录运行时间,也不会重复运行。
作者: kagari    时间: 2020-11-8 01:12
写配置项判断
作者: 云淡风清    时间: 2020-11-8 14:43
loveqianool 发表于 2020-11-8 01:02
改一下呀,首次运行写入系统时间,之后判断文本有数据就不运行。
关机将文本重命名,并将文本重置为空。
...

写数据不行,因为用户可以手动删除你写入的数据,哪怕写到注册表,也能删掉。
作者: 云淡风清    时间: 2020-11-8 14:45
kagari 发表于 2020-11-8 01:12
写配置项判断

感谢分享,但是写数据不行,因为用户可以手动删除程序写入的数据,哪怕写到注册表,也能删掉。
作者: kagari    时间: 2020-11-8 20:00
云淡风清 发表于 2020-11-8 14:45
感谢分享,但是写数据不行,因为用户可以手动删除程序写入的数据,哪怕写到注册表,也能删掉。 ...

开机自动注入dll,用dll判断,在dll里运算




欢迎光临 全球主机交流论坛 (https://loc.wget.at/) Powered by Discuz! X3.4