title: ShellExecuteEx to open file properties on x64 not work
body: <p>I use the following VB.net (Framework 4) code to open file properties.<br>
  This works fine when target is set to x86.</p>
  
  <pre><code>&lt;StructLayout(LayoutKind.Sequential)&gt; _
  Public Structure SHELLEXECUTEINFO
      Public cbSize As Integer
      Public fMask As UInteger
      Public hwnd As IntPtr
      Public lpVerb As [String]
      Public lpFile As [String]
      Public lpParameters As [String]
      Public lpDirectory As [String]
      Public nShow As Integer
      Public hInstApp As Integer
      Public lpIDList As Integer
      Public lpClass As [String]
      Public hkeyClass As Integer
      Public dwHotKey As UInteger
      Public hIcon As Integer
      Public hProcess As Integer
  End Structure
  
  Private Const SW_SHOW As Integer = 5
  Private Const SEE_MASK_INVOKEIDLIST As UInteger = 12 ' 0x0000000C
  
  &lt;DllImport("shell32.dll")&gt; _
  Private Shared Function ShellExecuteEx(ByRef lpExecInfo As SHELLEXECUTEINFO) As Boolean
  End Function
  
  Public Shared Sub ShowProperties(ByVal path As String)
      Dim fi As New IO.FileInfo(path)
      Dim info As New SHELLEXECUTEINFO()
      info.cbSize = Marshal.SizeOf(info)
      info.lpVerb = "properties"
      info.lpFile = fi.Name
      info.lpDirectory = fi.DirectoryName
      info.nShow = SW_SHOW
      info.fMask = SEE_MASK_INVOKEIDLIST
      ShellExecuteEx(info)       
  End Sub
  </code></pre>
  
  <p>Now I need the x64 target for my project and the code above does not work anymore. :(<br>
  <code>GetLastError</code> returns 0 and there is no exception or error message.<br>
  I searched two days and tried something but I found no solutiuon. Are here any ideas?
  <p>
  Thanks for help!</p>