半芯竹 发表于 2012-1-9 23:32:39

程序加启动项后FILEWRITE无法写入问题[已解决]

本帖最后由 半芯竹 于 2012-1-10 00:46 编辑

$mypath = @AutoItExe
$redreg=RegRead("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "uptime")
If $redreg Then
If $redreg<>@AutoItExe Then
                RegWrite("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "uptime","REG_SZ", $mypath)
                EndIf
Else
        RegWrite("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "uptime","REG_SZ", $mypath)
EndIf
While 1
$file = FileOpen("log.txt", 9)
                FileWrite($file, @YEAR & "." & @MON & "." & @MDAY & "--" & @HOUR & ":" & @MIN & ":" & @SEC & @CRLF)
                FileClose($file)
                Sleep(5000)
WEnd程序加启动项后,重启系统,发现FILEWRITE无法写入,这是为什么呢,只要在进程管理器里结束掉程序,再双击它,就可以正常了。就是加入启动项,启动的时候不行。

afan 发表于 2012-1-10 00:20:51

本帖最后由 afan 于 2012-1-10 00:36 编辑

试下~Local $mypath = @ScriptFullPath
Local $sReg = 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run'
If RegRead($sReg, 'uptime') <> $mypath Then RegWrite($sReg, 'uptime', 'REG_SZ', $mypath)
Local $file = @ScriptDir & '\log.txt'
While 1
        FileWriteLine($file, @YEAR & '.' & @MON & '.' & @MDAY & '--' & @HOUR & ':' & @MIN & ':' & @SEC)
        Sleep(5000)
WEnd

半芯竹 发表于 2012-1-10 00:32:15

本帖最后由 半芯竹 于 2012-1-10 00:44 编辑

回复 2# afan


    嗯。这个可以用。很好,谢谢A版。。。偶像。。。
原来只是定义$file问题。。搞定了。非常感谢

afan 发表于 2012-1-10 00:42:34

回复 3# 半芯竹


    先打开文件就行了Local $mypath = @ScriptFullPath
Local $sReg = 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run'
If RegRead($sReg, 'uptime') <> $mypath Then RegWrite($sReg, 'uptime', 'REG_SZ', $mypath)
Local $fileOp = FileOpen(@ScriptDir & '\log.txt', 9)
While 1
      FileWrite($fileOp, @YEAR & '.' & @MON & '.' & @MDAY & '--' & @HOUR & ':' & @MIN & ':' & @SEC & @CRLF)
      Sleep(5000)
WEnd

半芯竹 发表于 2012-1-10 00:45:42

回复 4# afan


    嗯。学习了。。再次感谢。

afan 发表于 2012-1-10 00:51:23

回复 5# 半芯竹


    排查这类问题首先就要确保完整路径~
页: [1]
查看完整版本: 程序加启动项后FILEWRITE无法写入问题[已解决]