从【没啥用】文件名称交换器Filename Exchanger(2.2)继续讨论:
起因于此
原始目的是判断是否用户首次打开程序:
若是,提示,若否,不操作。
总不能通过套娃的方式实现吧……那也太不优雅了:
有A、B两个程序,A程序的唯一作用就是在首次打开时显示提示并释放作为内部资源的B程序。而后B程序悄悄替换掉原有的A程序,并行使程序的主要功能……
那也太不优雅了吧……但是确实是我能想到的唯一一种邪门办法了……
加个ini配置文件即可
哥们,看题,不修改文件啊
要不然我头疼啥呢
要不要直接取消啟動提示
然後在github上強調初次使用先點提示按鈕這樣
或者可以在temp區弄一個資料夾,雖然算是有修改(新增)文件
但是大家不會看到,然後windows不會清除temp的資料夾
以此來檢測是否有使用過,也是一個辦法
我啊
勞資還特地找密碼登錄上去打星了呢
清理軟件是個問題,不過我用的那款也沒在清 空的資料夾 就是了
啊,未曾设想,感激涕零
我再等等其他网友看看还有没有新思路,实在不行真就直接删除首次提醒了……
我想了一圈也沒想到好方案
因為變數沒辦法寫回軟件,倒是可以對主程式竄改
(但是這種火辣操作也許很容易被某些防毒針對
而且操作不可逆
ini算個好主意,但是多一個配置檔就不夠簡潔
管理單檔軟件時看到那個也糟心
註冊表是最簡單直接的方法
但是同上,還可能引發被綁過註冊表的用戶的PTSD
聯網更是不用說,大家疑神疑鬼後會pass掉
如果直接以ram來記憶程序,那未知的潛在問題會更多
而且好好一個小程序搞這麼複雜也不科學
如此一來,還是把提示取消掉,省了一大把操心
很有道理,使我的脑子旋转。
决定取消提示,不过先不结贴,还是很想知道有没有网友能给我整出什么其他的花活来
我有想到過一種花活,但不會此招的人來支招總感覺怪怪的就沒說
就是,系統右下角常駐時,那個圖示只要出現過我記得系統就會有紀錄
如果你能反向調出那個紀錄,或許就能實現這種騷操作
但這只是理論上來說,我不確定怎麼弄
权限问题解决不了,似乎是要system权限……
取消提示,连使用说明都不愿读的用户就不管了。
阿,我想到了一個很簡單的方法…
把說明文件與主程序壓縮在一起,然後想讀的一定會看到
熟悉操作的就只留下主程序,完美…
啊,已经发版了,就是这个思路
我嫌麻烦 每次发版还得手动压缩
github action?
如果真想不写文件不写注册表又不修改或替换你的程序的话,可以研究研究ntfs 交换数据流(ADS),首次运行写一个数据到你程序文件的ADS里(正常资源管理器不可见,而且会随着你程序移动).
除此之外如果不怕用户骂你还有很多地方可写:服务,计划任务,驱动程序,证书,磁盘主引导分区等等木马喜欢利用的地方。(doge
稀烂的文档是个人开发者软件的显著特征
你问是否有人看 git 里的 readme。给你康康我的,把 readme 当成 wiki 用
只修改软件自身二进制可以做到。在软件启动后,将本机的任意识别信息(比如MAC地址)写入资源段即可。可以实现识别到在同一台机器上的首次运行。将二进制拷贝到其他机器也可以识别到首次打开。
当然这个方法似乎违反了你的“不修改文件”的要求。