begin process at 2008 09 06 05:05:57
1 237 644 membres
42 nouveaux aujourd'hui
14 313 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SHELL SUR POCKET PC OU COMMENT LANCER UNE APPLICATION PAR LE CODE


Information sur la source

Description

Cet exemple vous présente une solution pour lancer une application, la commande Shell n'existant pas sous .net Compact Framework
(on utilise CoreDll.dll)

Source

  • 'La classe
  • Imports System.Runtime.InteropServices
  • Public Class Launch
  • <DllImport("CoreDll.DLL", SetLastError:=True)> _
  • Private Shared Function CreateProcess(ByVal imageName As String, ByVal cmdLine As String, ByVal lpProcessAttributes As IntPtr, ByVal lpThreadAttributes As IntPtr, ByVal boolInheritHandles As Int32, ByVal dwCreationFlags As Int32, ByVal lpEnvironment As IntPtr, ByVal lpszCurrentDir As IntPtr, ByVal si() As Byte, ByVal pi As ProcessInfo) As Integer
  • End Function
  • <DllImport("CoreDll.dll")> _
  • Private Shared Function GetLastError() As Int32
  • End Function
  • Public Shared Function CreateProc(ByVal ExeName As String, ByVal CmdLine As String, ByVal pi As ProcessInfo) As Boolean
  • If pi Is Nothing Then
  • pi = New ProcessInfo
  • End If
  • Dim si(127) As Byte
  • Return CreateProcess(ExeName, CmdLine, IntPtr.Zero, IntPtr.Zero, 0, 0, IntPtr.Zero, IntPtr.Zero, si, pi) <> 0
  • End Function 'CreateProc
  • End Class 'Externals
  • Public Class ProcessInfo
  • Public hProcess As IntPtr
  • Public hThread As IntPtr
  • Public ProcessId As Int32
  • Public ThreadId As Int32
  • End Class
  • 'dans votre form
  • Launch.CreateProc("\Windows\solitaire.exe", Nothing, Nothing)
  • 'lancera le solitaire
'La classe

Imports System.Runtime.InteropServices
Public Class Launch
    <DllImport("CoreDll.DLL", SetLastError:=True)> _
    Private Shared Function CreateProcess(ByVal imageName As String, ByVal cmdLine As String, ByVal lpProcessAttributes As IntPtr, ByVal lpThreadAttributes As IntPtr, ByVal boolInheritHandles As Int32, ByVal dwCreationFlags As Int32, ByVal lpEnvironment As IntPtr, ByVal lpszCurrentDir As IntPtr, ByVal si() As Byte, ByVal pi As ProcessInfo) As Integer
    End Function

    <DllImport("CoreDll.dll")> _
    Private Shared Function GetLastError() As Int32
    End Function

    Public Shared Function CreateProc(ByVal ExeName As String, ByVal CmdLine As String, ByVal pi As ProcessInfo) As Boolean
        If pi Is Nothing Then
            pi = New ProcessInfo
        End If
        Dim si(127) As Byte
        Return CreateProcess(ExeName, CmdLine, IntPtr.Zero, IntPtr.Zero, 0, 0, IntPtr.Zero, IntPtr.Zero, si, pi) <> 0
    End Function 'CreateProc
End Class 'Externals
Public Class ProcessInfo
    Public hProcess As IntPtr
    Public hThread As IntPtr
    Public ProcessId As Int32
    Public ThreadId As Int32
End Class

'dans votre form 

        Launch.CreateProc("\Windows\solitaire.exe", Nothing, Nothing)
'lancera le solitaire

Conclusion

A noter qu'un fichier dont l'extension est connue lancera l'application correspondante
Ainsi un fichier txt lancera Pword

Sources en rapport avec celle ci

  • signaler à un administrateur
    Commentaire de forchi le 30/11/2006 10:59:07

    Bonjour,
    j'essaye d'ouvrir un fichier .psw (.doc sur pc) mais rien ne se passe, ni erreur, ni lancement, pourtant le chemin du fichier est correcte!

    Dim Process As New Launch
    Process.CreateProc("\Program Files\Mon_Dossier\AIDE\Mise à jour du stock.psw", Nothing, Nothing)

    Faut-il passer des paramètres supplementaires ?

  • signaler à un administrateur
    Commentaire de forchi le 30/11/2006 11:32:59

    C'est bon j'ai trouve:

    Dim Process As New Launch
    Process.CreateProc(OpenNETCF.EnvironmentEx.GetFolderPath(OpenNETCF.EnvironmentEx.SpecialFolder.Windows) & "\pword.exe", "\Program Files\Mon_Dossier\AIDE\Mise à jour du stock.psw", Nothing)

    Et voilà ça marche

    Merci

  • signaler à un administrateur
    Commentaire de MadM@tt le 29/01/2007 21:37:31

    Yeah ça marche super merci beaucoup !

  • signaler à un administrateur
    Commentaire de grajon le 25/04/2007 15:39:24

    Bonjour, quelqu'un a t'il une idée de comment on peut faire la même chose en C# ?

    Merci

  • signaler à un administrateur
    Commentaire de Stephane33 le 25/04/2007 18:21:22 administrateur CS

    Utilise SharpDevelop pour traduire du VB vers C#

  • signaler à un administrateur
    Commentaire de grajon le 25/04/2007 19:19:24

    Merci Stephane33 pour l'info, c'est toujours bon à prendre, d'autant que l'IDE a l'air sympa...
    Mais ma question était plutôt du style "connaissez-vous une astuce pour lancer une application en C# ?"

  • signaler à un administrateur
    Commentaire de Stephane33 le 25/04/2007 20:14:19 administrateur CS

    Pour développper en C# sur PocketPc, il te faudra l'IDE de Microsoft VisualStudio 2003 ou 2005 (pas de version express  et En fonction du Compact Framework Visé) et les SDK appropriés
    Le développement s'effectue de la même manière que sur PC avec quelques contraintes lié au Compact Framework

  • signaler à un administrateur
    Commentaire de forchi le 24/07/2007 17:13:53

    Pour ceux qui ne veulent pas utiliser OpenNetCF:

    exemple pour ouvrir un fichier word(.doc):
    -----------------------------------------
    Dim Process As New Launch
    Dim oPI As Diagnostic.ProcessInfo = Diagnostic.Process.LaunchAppli("pword.exe", chemin_de_mon_fichier_word)

    Et voilà...

  • signaler à un administrateur
    Commentaire de Stephane33 le 25/07/2007 17:56:33 administrateur CS

    Forchi, OK mais avec CF 2.0 ;)

  • signaler à un administrateur
    Commentaire de forchi le 25/07/2007 19:06:42

    Non Stephane33, j'utilise le CF 1.0 SP3...

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS