Jump to content

Recommended Posts

Posted (edited)

Hi,

Does anyone know how to open up this window via AutoIT if a specific file path is given?  I know I can send the ALT & Enter keys at once via AutoIT, just not sure how to tell AutoIT to 

Let's say the path of the file was here C:datag2mui.exe (the issue is that there will be lots of other exe files within that folder and I'm not sure how to pass the send keys directly to that specific file).

66Dg4k5.png

This was solved by Orbs post.

Edited by brink668
Posted

all i found was other issues with it:  '?do=embed' frameborder='0' data-embedContent>>

  Reveal hidden contents

Posted (edited)

I also thought this might have worked too...

#include <WinAPIShellEx.au3>

$dsFile = DllStructCreate("wstr")
DllStructSetData($dsFile, 1, @ScriptDir & "\file.ext")

$dsVerb = DllStructCreate("wstr")
DllStructSetData($dsVerb, 1, "properties")

$tSHEXINFO = DllStructCreate($tagSHELLEXECUTEINFO)

DllStructSetData($tSHEXINFO, "Show", @SW_SHOW)
DllStructSetData($tSHEXINFO, "Size", DllStructGetSize($tSHEXINFO))
DllStructSetData($tSHEXINFO, "File", DllStructGetPtr($dsFile))
DllStructSetData($tSHEXINFO, "Verb", DllStructGetPtr($dsVerb))


ConsoleWrite(_WinAPI_ShellExecuteEx ( $tSHEXINFO ) & @LF)

And again it does not, and instead opens an instance of my documents folder.

Edited by JohnOne

AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

Posted (edited)
  On 6/25/2014 at 2:18 AM, JohnOne said:

And again it does not, and instead opens an instance of my documents folder.

 

indeed it is strange.

EDIT:

even if you set a wrong file full path to the file, then you get 1 as a result in console, but expected value is $SE_ERR_FNF = 2

Edited by mLipok

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted

this works well (link to original post inside):

Func _ShowFileProperties($sFile, $sVerb = "properties", $hWnd = 0)
    ; function by Rasim
    ; http://www.autoitscript.com/forum/index.php?showtopic=78236&view=findpost&p=565547

    Local Const $SEE_MASK_INVOKEIDLIST = 0xC
    Local Const $SEE_MASK_NOCLOSEPROCESS = 0x40
    Local Const $SEE_MASK_FLAG_NO_UI = 0x400

    Local $PropBuff, $FileBuff, $SHELLEXECUTEINFO

    $PropBuff = DllStructCreate("char[256]")
    DllStructSetData($PropBuff, 1, $sVerb)

    $FileBuff = DllStructCreate("char[256]")
    DllStructSetData($FileBuff, 1, $sFile)

    $SHELLEXECUTEINFO = DllStructCreate("int cbSize;long fMask;hwnd hWnd;ptr lpVerb;ptr lpFile;ptr lpParameters;ptr lpDirectory;" & _
            "int nShow;int hInstApp;ptr lpIDList;ptr lpClass;hwnd hkeyClass;int dwHotKey;hwnd hIcon;" & _
            "hwnd hProcess")

    DllStructSetData($SHELLEXECUTEINFO, "cbSize", DllStructGetSize($SHELLEXECUTEINFO))
    DllStructSetData($SHELLEXECUTEINFO, "fMask", $SEE_MASK_INVOKEIDLIST)
    DllStructSetData($SHELLEXECUTEINFO, "hwnd", $hWnd)
    DllStructSetData($SHELLEXECUTEINFO, "lpVerb", DllStructGetPtr($PropBuff, 1))
    DllStructSetData($SHELLEXECUTEINFO, "lpFile", DllStructGetPtr($FileBuff, 1))

    $aRet = DllCall("shell32.dll", "int", "ShellExecuteEx", "ptr", DllStructGetPtr($SHELLEXECUTEINFO))
    If $aRet[0] = 0 Then Return SetError(2, 0, 0)

    Return $aRet[0]
EndFunc   ;==>_ShowFileProperties

Signature - my forum contributions:

  Reveal hidden contents

 

Posted (edited)

not at all

_ShowFileProperties("c:\Program Files (x86)\AutoIt3\AutoIt3.exe" )
ConsoleWrite(@error& @LF)
ConsoleWrite(_WinAPI_GetLastError()& @LF)
ConsoleWrite(_WinAPI_GetLastErrorMessage()& @LF)
>"C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "L:\AU3\  FORUM\Examples\_WinAPI_ShellExecuteEx.au3" /UserParams    
+>06:02:53 Starting AutoIt3Wrapper v.2.2.0.3 SciTE v.3.4.3.0   Keyboard:00000415  OS:WIN_7/Service Pack 1  CPU:X64 OS:X64    Environment(Language:0415)
+>         SciTEDir => C:\Program Files (x86)\AutoIt3\SciTE   UserDir => C:\Users\user\AppData\Local\AutoIt v3\SciTE\AutoIt3Wrapper   SCITE_USERHOME => C:\Users\user\AppData\Local\AutoIt v3\SciTE 
>Running AU3Check (3.3.13.0)  from:C:\Program Files (x86)\AutoIt3  input:L:\AU3\  FORUM\Examples\_WinAPI_ShellExecuteEx.au3
+>06:02:53 AU3Check ended.rc:0
>Running:(3.3.10.2):C:\Program Files (x86)\AutoIt3\autoit3.exe "L:\AU3\  FORUM\Examples\_WinAPI_ShellExecuteEx.au3"    
--> Press Ctrl+Alt+F5 to Restart or Ctrl+Break to Stop
0
0
Operacja ukończona pomyślnie. = TRANSLATION: Operation finished succesfull

+>06:02:54 AutoIt3.exe ended.rc:0
+>06:02:54 AutoIt3Wrapper Finished.
>Exit code: 0    Time: 0.6454
edit:

and nothing happend

Edited by mLipok

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted (edited)

the Properties dialog will close when the script closes. this full script works (Win7 Ultimate x64):

HotKeySet('{ESC}','_Exit')
Func _Exit()
    Exit
EndFunc

_ShowFileProperties('C:\Program Files (x86)\AutoIt3\AutoIt3.exe')
While True
WEnd

Func _ShowFileProperties($sFile, $sVerb = "properties", $hWnd = 0)
    ; function by Rasim
    ; http://www.autoitscript.com/forum/index.php?showtopic=78236&view=findpost&p=565547

    Local Const $SEE_MASK_INVOKEIDLIST = 0xC
    Local Const $SEE_MASK_NOCLOSEPROCESS = 0x40
    Local Const $SEE_MASK_FLAG_NO_UI = 0x400

    Local $PropBuff, $FileBuff, $SHELLEXECUTEINFO

    $PropBuff = DllStructCreate("char[256]")
    DllStructSetData($PropBuff, 1, $sVerb)

    $FileBuff = DllStructCreate("char[256]")
    DllStructSetData($FileBuff, 1, $sFile)

    $SHELLEXECUTEINFO = DllStructCreate("int cbSize;long fMask;hwnd hWnd;ptr lpVerb;ptr lpFile;ptr lpParameters;ptr lpDirectory;" & _
            "int nShow;int hInstApp;ptr lpIDList;ptr lpClass;hwnd hkeyClass;int dwHotKey;hwnd hIcon;" & _
            "hwnd hProcess")

    DllStructSetData($SHELLEXECUTEINFO, "cbSize", DllStructGetSize($SHELLEXECUTEINFO))
    DllStructSetData($SHELLEXECUTEINFO, "fMask", $SEE_MASK_INVOKEIDLIST)
    DllStructSetData($SHELLEXECUTEINFO, "hwnd", $hWnd)
    DllStructSetData($SHELLEXECUTEINFO, "lpVerb", DllStructGetPtr($PropBuff, 1))
    DllStructSetData($SHELLEXECUTEINFO, "lpFile", DllStructGetPtr($FileBuff, 1))

    $aRet = DllCall("shell32.dll", "int", "ShellExecuteEx", "ptr", DllStructGetPtr($SHELLEXECUTEINFO))
    If $aRet[0] = 0 Then Return SetError(2, 0, 0)

    Return $aRet[0]
EndFunc   ;==>_ShowFileProperties

EDIT: apparently this behavior is common, that's how it works with other programs. Try right-click Properties from the "Open" dialog in MS Word - when you close the "Open" dialog without selection, the "Properties" dialog also closes. why is it so, i have no idea.

Edited by orbs

Signature - my forum contributions:

  Reveal hidden contents

 

Posted

Confirm works well.

But why this do not works:
 

#include <WinAPI.au3>
 #include <WinAPIShellEx.au3>

HotKeySet('{ESC}','_Exit')
Func _Exit()
    Exit
EndFunc

_ShowFileProperties('C:\Program Files (x86)\AutoIt3\AutoIt3.exe')
While True
WEnd

Func _ShowFileProperties($sFile, $sVerb = "properties", $hWnd = 0)
    ; function by Rasim
    ; http://www.autoitscript.com/forum/index.php?showtopic=78236&view=findpost&p=565547

    Local Const $SEE_MASK_INVOKEIDLIST = 0xC
    Local Const $SEE_MASK_NOCLOSEPROCESS = 0x40
    Local Const $SEE_MASK_FLAG_NO_UI = 0x400

    Local $PropBuff, $FileBuff, $SHELLEXECUTEINFO

    $PropBuff = DllStructCreate("char[256]")
    DllStructSetData($PropBuff, 1, $sVerb)

    $FileBuff = DllStructCreate("char[256]")
    DllStructSetData($FileBuff, 1, $sFile)

    $SHELLEXECUTEINFO = DllStructCreate("int cbSize;long fMask;hwnd hWnd;ptr lpVerb;ptr lpFile;ptr lpParameters;ptr lpDirectory;" & _
            "int nShow;int hInstApp;ptr lpIDList;ptr lpClass;hwnd hkeyClass;int dwHotKey;hwnd hIcon;" & _
            "hwnd hProcess")

    DllStructSetData($SHELLEXECUTEINFO, "cbSize", DllStructGetSize($SHELLEXECUTEINFO))
    DllStructSetData($SHELLEXECUTEINFO, "fMask", $SEE_MASK_INVOKEIDLIST)
    DllStructSetData($SHELLEXECUTEINFO, "hwnd", $hWnd)
    DllStructSetData($SHELLEXECUTEINFO, "lpVerb", DllStructGetPtr($PropBuff, 1))
    DllStructSetData($SHELLEXECUTEINFO, "lpFile", DllStructGetPtr($FileBuff, 1))

    _WinAPI_ShellExecuteEx($SHELLEXECUTEINFO)
;~  $aRet = DllCall("shell32.dll", "int", "ShellExecuteEx", "ptr", DllStructGetPtr($SHELLEXECUTEINFO))
;~     If $aRet[0] = 0 Then Return SetError(2, 0, 0)

;~     Return $aRet[0]
EndFunc   ;==>_ShowFileProperties

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted
  On 6/25/2014 at 4:18 AM, orbs said:

 why is it so, i have no idea.

 

because you close $hWnd

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted
  On 6/25/2014 at 4:37 AM, mLipok said:

But why this do not works: ...

 

no idea, i'm not that into DLL stuff.

 

  On 6/25/2014 at 4:48 AM, mLipok said:

because you close $hWnd

 

ah, of course. thanks.

Signature - my forum contributions:

  Reveal hidden contents

 

Posted
  On 6/25/2014 at 8:09 AM, jguinch said:

It could be interesting to know what the OP wants to automate in this window. I could be done without it, no ?

 

could be, but i found myself in need just to display the Properties dialog, nothing more. so i found that. we'll just have to wait for the OP to provide some feedback.

Signature - my forum contributions:

  Reveal hidden contents

 

Posted
  On 6/25/2014 at 8:09 AM, jguinch said:

It could be interesting to know what the OP wants to automate in this window. I could be done without it, no ?

One time I asked how to set the compatibility mode, and "DPI settings"

But I still have no idea how to do that.

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted
  On 6/25/2014 at 8:30 AM, mLipok said:

One time I asked how to set the compatibility mode, and "DPI settings"

But I still have no idea how to do that.

 

Well, make your modifications in compatibility tab from the shortcut properties, and look at the registry in HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersionAppCompatFlagsLayers.

Posted
  On 6/25/2014 at 8:30 AM, mLipok said:

One time I asked how to set the compatibility mode, and "DPI settings"

But I still have no idea how to do that.

 

start your investigation here:

'?do=embed' frameborder='0' data-embedContent>>

Signature - my forum contributions:

  Reveal hidden contents

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...