P
paul schenk via .NET 247
(Type your message here)
--------------------------------
From: paul schenk
Hi All
Would be grateful of advice please. I have code in VB6 working as follows:
lngReply = CreateProcess(sNull, txtStart, ByVal 0&, ByVal 0&, 1&, _
NORMAL_PRIORITY_CLASS, ByVal 0&, sNull, sInfo, pInfo)
but alas, the 'equivelant' vb.Net code translated as:
lngReply = CreateProcess(sNull, txtStart.Text, sa, sa, 1, _
NORMAL_PRIORITY_CLASS, 0, sNull, sInfo, pInfo)
does not execute cleanly. That is, although the CreateProcess returns 'successfully', and populates the sInfo structure with valid data, the application (e.g. c:\windows\notepad.exe) 'fails during initialisation' and terminates.
The only 'meaningful' difference between the working vb6 and non-working vb.net code, is the substitution of vb6's 'As Any' Win32API declaration parameterss with 'AS Securities_Attributes' structures, which I have defined thus:
Structure SECURITY_ATTRIBUTES
Dim nLength As Integer
Dim lpSecurityDescriptor As Integer
Dim bInheritHandle As Integer
End Structure
and are passed-in called 'sa', as noted above.
Please, can someone offer either a correction for my error, or a good code example / reference for calling CreateProcess from vb.net.
NB: I need to use CreateProcess rather than the Process component in the managed code, as I need to set some 'lower level' start info parameters, which I can only get at using the API directly
Many Thanks in advance,
Paul.
--------------------------------
From: paul schenk
Hi All
Would be grateful of advice please. I have code in VB6 working as follows:
lngReply = CreateProcess(sNull, txtStart, ByVal 0&, ByVal 0&, 1&, _
NORMAL_PRIORITY_CLASS, ByVal 0&, sNull, sInfo, pInfo)
but alas, the 'equivelant' vb.Net code translated as:
lngReply = CreateProcess(sNull, txtStart.Text, sa, sa, 1, _
NORMAL_PRIORITY_CLASS, 0, sNull, sInfo, pInfo)
does not execute cleanly. That is, although the CreateProcess returns 'successfully', and populates the sInfo structure with valid data, the application (e.g. c:\windows\notepad.exe) 'fails during initialisation' and terminates.
The only 'meaningful' difference between the working vb6 and non-working vb.net code, is the substitution of vb6's 'As Any' Win32API declaration parameterss with 'AS Securities_Attributes' structures, which I have defined thus:
Structure SECURITY_ATTRIBUTES
Dim nLength As Integer
Dim lpSecurityDescriptor As Integer
Dim bInheritHandle As Integer
End Structure
and are passed-in called 'sa', as noted above.
Please, can someone offer either a correction for my error, or a good code example / reference for calling CreateProcess from vb.net.
NB: I need to use CreateProcess rather than the Process component in the managed code, as I need to set some 'lower level' start info parameters, which I can only get at using the API directly
Many Thanks in advance,
Paul.