宇宙主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

欧基零壹微头条IP归属甄别会员请立即修改密码
查看: 932|回复: 9

求助一个Windows问题

[复制链接]
发表于 2020-11-7 23:21:24 | 显示全部楼层 |阅读模式
本帖最后由 云淡风清 于 2020-11-7 23:26 编辑

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

类似Linux 有个boot_id
发表于 2020-11-7 23:32:52 来自手机 | 显示全部楼层
有洁癖就不能用win,我是不玩游戏也不看hd,早就脱离了
发表于 2020-11-8 00:25:08 | 显示全部楼层
我之前用过一个比较傻的方法。
使用 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:41 | 显示全部楼层
loveqianool 发表于 2020-11-8 00:25
我之前用过一个比较傻的方法。
使用 bat 脚本运行程序,运行之前向一个文本写 1 ,运行之后将文本的 1 改成 ...

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

改一下呀,首次运行写入系统时间,之后判断文本有数据就不运行。
关机将文本重命名,并将文本重置为空。
这样即可记录运行时间,也不会重复运行。
发表于 2020-11-8 01:12:03 | 显示全部楼层
写配置项判断
 楼主| 发表于 2020-11-8 14:43:21 | 显示全部楼层
loveqianool 发表于 2020-11-8 01:02
改一下呀,首次运行写入系统时间,之后判断文本有数据就不运行。
关机将文本重命名,并将文本重置为空。
...

写数据不行,因为用户可以手动删除你写入的数据,哪怕写到注册表,也能删掉。
 楼主| 发表于 2020-11-8 14:45:00 | 显示全部楼层

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

开机自动注入dll,用dll判断,在dll里运算
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|宇宙主机交流论坛

GMT+8, 2024-10-31 11:37 , Processed in 0.064107 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表