2014-09-21 55 views
0

這個簡單的MASM程序不斷崩潰。Masm Program Not Working(使用Win32 API - CreateFile)

我使用Win32 API

CreateFile功能無法正常工作,並讓我的應用程序崩潰。

.386 
.model flat,stdcall 
option casemap:none 
include \masm32\include\windows.inc 
include \masm32\include\kernel32.inc 
includelib \masm32\lib\kernel32.lib 
include \masm32\include\user32.inc 
includelib \masm32\lib\user32.lib 

.data 
filename byte "dummy.txt", 0 

.code 
main PROC 

    INVOKE CreateFile, 
       filename, 
       GENERIC_WRITE, 
       0, 
       NULL, 
       CREATE_NEW, 
       FILE_ATTRIBUTE_NORMAL, 
       NULL 

    invoke ExitProcess,NULL 
main ENDP 
END main 

任何人都可以幫忙嗎?

回答

2

CreateFile的第一個參數是地址的文件名,而不是文件名的前幾個字符。所以,你需要filename前放置一個ADDR運營商在invoke

INVOKE CreateFile, 
      ADDR filename, 
      GENERIC_WRITE, 
      0, 
      NULL, 
      CREATE_NEW, 
      FILE_ATTRIBUTE_NORMAL, 
      NULL 
+0

感謝您的幫助朋友 – Khalsa 2014-09-21 18:06:19