Dear User,
I'm not quite sure what exactly is the purpose of your code.
Anyway, you have not used the correct paremeters type with the WIN API functions.
Also, when the function parameter require an hexadecimal value pass it as decimal.
Said that, your code should like as:
Code: Select all
~InstallAware Clipboard Data~
~MessageBox~
~{775614BF-46C8-4A26-ADF5-51EECB24BD4F}~
~TEST~
~$_INUSE_VAR_$~
~0~
~1~
~~
~Comment~
~{F304D2B4-D9A1-41B1-AC18-85DFC09AA6F7}~
~~
~End~
~{8BD6F36D-1B53-4084-A3CE-ACEED7CCEA9E}~
~Set Variable~
~{55E883A1-2B40-4617-B63F-511E316E2809}~
~$_INUSE_VAR_$~
~Non-Existant~
~Else~
~{7ECA4FCB-1DD8-477A-8C7F-3F5E7A044DC4}~
~End~
~{C7DBEF16-E591-4452-9D3B-CDA0DA322BB7}~
~Set Variable~
~{5E168790-99FD-4D8E-B1E6-D88963E10B05}~
~$_INUSE_VAR_$~
~Not In-Use~
~Call DLL Function~
~{DD033E01-471A-493C-BD2D-51240DE1A9C3}~
~kernel32.dll,CloseHandle,bool,INUSE_RTN,"double word",$INUSE_RTN$,$~
~mDown.dll\mDownExec.dll~
~Else~
~{CF320791-5ED3-4017-98E0-1627B0AA3899}~
~End~
~{6DC81754-8104-4C31-8C76-48AADC78295F}~
~Set Variable~
~{56FD14E8-F9A8-40E7-9AFF-448421C3BBAF}~
~$_INUSE_VAR_$~
~In-Use~
~If~
~{E92498EC-BD2B-469C-8022-3BF9E1748E13}~
~GET_FILE_RETURN~
~0~
~32~
~FALSE~
~If~
~{7334ED3E-0F38-4FF7-B8A9-9BD7B089B752}~
~INUSE_RTN~
~0~
~-1~
~FALSE~
~Call DLL Function~
~{9E4EE50F-1316-46E1-AECE-FD4C88165E9A}~
~kernel32.dll,SetFileAttributesA,bool,RETURN,"pointer to string",$_INUSE_PATH_$,"double word",OLD_ATTR,$~
~mDown.dll\mDownExec.dll~
~Call DLL Function~
~{FDF603C7-D7E3-4EB1-857B-B93FE319F7E5}~
~kernel32.dll,CreateFileA,"double word",INUSE_RTN,"pointer to string",$_INUSE_PATH_$,"double word",3221225472,"double word",0,long,0,"double word",3,"double word",128,"double word",0,$~
~mDown.dll\mDownExec.dll~
~Call DLL Function~
~{717F311D-B042-4937-9C5D-11167400D245}~
~kernel32.dll,SetFileAttributesA,bool,RETURN,"pointer to string",$_INUSE_PATH_$,"double word",128,$~
~mDown.dll\mDownExec.dll~
~Call DLL Function~
~{96882B4E-53A4-4125-AEBB-28FE37E1464F}~
~kernel32.dll,GetFileAttributesA,"double word",GET_FILE_RETURN,"pointer to string",$_INUSE_PATH_$,$~
~mDown.dll\mDownExec.dll~
~If~
~{DFBA37A3-5D40-433F-B3AD-82E9A512CE8D}~
~DOESFILEDIREXIST~
~0~
~TRUE~
~FALSE~
~Does File/Folder Exist~
~{E02EBC0B-0F80-4484-952D-9BE61CE4E3A1}~
~DOESFILEDIREXIST~
~$_INUSE_PATH_$~
~TRUE~
~Set Variable~
~{4EAE1AAD-D8AB-46AC-993C-EFDF01FAF77A}~
~_INUSE_PATH_$MYAH$MYAH$FALSE~
~C:\Windows\notepad.exe~
~Set Variable~
~{C6470027-D143-434A-A871-149AEB32B3C4}~
~GET_FILE_RETURN$MYAH$MYAH$FALSE~
~~
~Set Variable~
~{A499C1A2-9650-4138-962D-B346239E6653}~
~RETURN$MYAH$MYAH$FALSE~
~~
~Set Variable~
~{432E1B77-D371-4E68-9B64-2FDF24EF07F2}~
~_INUSE_PATH_$MYAH$MYAH$FALSE~
~~
~Set Variable~
~{72624C80-29CC-4086-8573-65EFAC46B556}~
~INUSE_RTN$MYAH$MYAH$FALSE~
~~
Please note, that with the code you used (last call to SetFileAttributesA) a variable (OLD_ATTR) that is not declared.
Finally, the way you used to verify the file handle retuned by "CreateFileA" is not correct, that should be:
Code: Select all
~InstallAware Clipboard Data~
~End~
~{812AAEFA-2F4C-42A2-96C9-5BE46342A618}~
~End~
~{46257F50-5414-4C9F-BFCE-8DC4CC9DAFA7}~
~Call DLL Function~
~{A347E536-9942-4370-A5FF-2B255A0C2A86}~
~Kernel32.dll,CloseHandle,bool,RESULT,"double word",$FILE_HANDLE$,$~
~~mIDEFunc.dll\mEXEFunc.dll~~
~Comment~
~{70A747D2-544C-4C17-B594-767554F0E0CE}~
~~
~If~
~{A388EFEE-40F9-46D2-9C28-6DC902D11A84}~
~FILE_HANDLE~
~4~
~4294967295~
~TRUE~
~If~
~{7553A990-262F-4B41-B349-BCB3D321305E}~
~FILE_HANDLE~
~2~
~0~
~FALSE~
The same as redable text:
Code: Select all
if Variable FILE_HANDLE Greater Than 0
if Variable FILE_HANDLE not Equals (Ignore Case) 4294967295
Call DLL Function Kernel32.dll->CloseHandle (get result into variable RESULT)
end
end
*The returned FILE HANDLE is valid if greater then 0 and not Equal to 4294967295.
In C++ is checked as:
Code: Select all
if(FILE_HANDLE != INVALID_HANDLE_VALUE)
Hope this helps you.
Regards