我想在Masm代碼的C:\下創建一個文件。 但永遠不會成功。我不知道代碼出了什麼問題。Masm invoke createfile不起作用
INCLUDE Irvine32.inc
.data
fileName BYTE "C:\\haha.txt",0
fileHandle HANDLE ?
.code
main PROC
INVOKE CreateFile,
ADDR filename, GENERIC_WRITE, DO_NOT_SHARE, null, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL,0
exit
main ENDP
END main
如果我改變
fileName BYTE "haha.txt",0
它會成功寫在程序文件夾中的文件haha.txt。 我不明白爲什麼它不寫出來C:\ 另外,我正在使用Visual Studio 2013,我運行該程序通過在調試下運行它,啓動時無需調試。
適用於此(WinXP)。因爲反斜槓在MASM或ML中沒有特殊含義,所以不需要加倍反斜槓。我想這與特權有關。 [看這裏](http://www.mkyong.com/computer-tips/cant-create-file-in-the-c-drive-root-directory-windows-8/)(我沒有驗證解決方案)。 – rkhb 2014-12-03 22:34:50
也可以工作,但它需要重新啓動,我試圖寫一個簡單的病毒,所以我不想重新啓動用戶的計算機。感謝您的幫助,這是一個很好的答案和解決方案!學到了。 – 2014-12-04 03:58:47