begin process at 2012 02 17 11:03:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

api getshortpathname ne marche pas, grr


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

api getshortpathname ne marche pas, grr

samedi 13 août 2005 à 16:50:13 | api getshortpathname ne marche pas, grr

tump


bonjour,
je suis en VB.net, j'ai un probleme avec l'API GetShortPathName

Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal lBuffer As Long) As Long

Public Function GetShortPath(ByVal strFileName As String) As String
   Dim lngRes As Long, strPath As String
   strPath = String$(165, 0)
   lngRes = GetShortPathName(strFileName, strPath, 164)
   GetShortPath = Left$(strPath, lngRes)
End Function

c'est cette methode que je trouve partout,
mais il ne veut pas de String$(165, 0) ni de Left$(strPath, lngRes)

jai essayé en remplacant String$(165, 0) par space$(165) et  Left$(strPath, lngRes) par mid(strpath,1,ingres)
mais la fonction me renvoie une erreur


help please
merci

poum :-)
samedi 13 août 2005 à 17:25:28 | Re : api getshortpathname ne marche pas, grr

CanisLupus

Membre Club Administrateur CodeS-SourceS
Salut, je n'ai pas vb.net sous la main mais il me semble que :

strPath = String$(165, 0)
doit être remplacé par
strPath = NewString("0", 165)

pour le left$, tu as vu juste ça n'existe plus et il faut bien le remplacer par
mid(strpath,1,ingres)


-------------------------------------------------
Dresseur de puces, .... normal pour un loup  !?
samedi 13 août 2005 à 17:29:11 | Re : api getshortpathname ne marche pas, grr

CanisLupus

Membre Club Administrateur CodeS-SourceS
Oups, je crois qu'un espace a sauté entre new et string.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup  !?
samedi 13 août 2005 à 17:40:06 | Re : api getshortpathname ne marche pas, grr

Charles Racaud

Membre Club
Bonjour,

Avec ça, ca marche

Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal lBuffer As Long) As Long
Public Function GetShortPath(ByVal StrFileName As String) As String
  Dim strPath As String = Microsoft.VisualBasic.Strings.Space(165)
  Call GetShortPathName(strFileName, strPath, 164)
  Return strPath
End Function

ChRB

Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.
samedi 13 août 2005 à 21:09:18 | Re : api getshortpathname ne marche pas, grr

MasterHack

la nouvelle syntaxe de dexlaration de cet api est:
Private Declare Function GetShortPathName Lib "kernel32.dll" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Int32) As Int32




Life is short...Learn more
Copy Rights <> Rights to Copy
samedi 13 août 2005 à 22:59:25 | Re : api getshortpathname ne marche pas, grr

tump

merci pour votre aide, mais rien n'y fait ...

canislupus : ta methode ne change rien, jai un message d'erreur : loperation arithmetique a provoqué un depassement de capacité patati patata

charles:ta fonction retourne strpath, donc "                                "
jai essayé avec return GetShortPathName(strFileName, strPath, 164)
mais bon, ça me renvoi "0"

masterhack: long ou int32, ça na aucun effet non plus


je comprend pas, pourtant a partir de vba, ça fonctionne
pourquoi il faut que strpath="        ..." ? a quoi ça sert?

poum :-)
samedi 13 août 2005 à 23:03:29 | Re : api getshortpathname ne marche pas, grr

tump

si ça peut vous eclairer,

GetShortPathName(strFileName, strPath, 164) me renvoi
2814749767106560

poum :-)
samedi 13 août 2005 à 23:14:21 | Re : api getshortpathname ne marche pas, grr

Charles Racaud

Membre Club
Réponse acceptée !
Bonjour,

Je nee comprends pas, ma méthode marche chez moi.
Mais il y à en effet des " " après le chemin du fichier.
Ceci serait t-il mieux ?

Private Declare Function GetShortPathName Lib "kernel32.dll" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Int32) As Int32

Public Function GetShortPath(ByVal StrFileName As String) As String
  Dim strPath As String = Microsoft.VisualBasic.Strings.Space(165)
  Dim FileLen As Integer = GetShortPathName(StrFileName, strPath, 164)
  strPath = Microsoft.VisualBasic.Left(strPath, FileLen)
  Return strPath
End Function

Pour appeller la fonction:
MsgBox("[" & GetShortPath(Application.ExecutablePath) & "]")


ChRB

Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.
dimanche 14 août 2005 à 01:00:45 | Re : api getshortpathname ne marche pas, grr

MasterHack

 je conforme la methode de superchinois, elle marche tres bien



Life is short...Learn more
Copy Rights <> Rights to Copy
dimanche 14 août 2005 à 01:03:47 | Re : api getshortpathname ne marche pas, grr

MasterHack

ops dsl le clipboard etais plein,
je disais que je confirmais la methode de  Charles Racaud,ça marche tres bien



Life is short...Learn more
Copy Rights <> Rights to Copy

1 2

Cette discussion est classée dans : string, api, strpath, getshortpathname, lngres


Répondre à ce message

Sujets en rapport avec ce message

WTF??? Erreur avec dossier windows [ par ironz ] jai mit ca dans ma form:Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Lon pb avec l'API WNetAddConnection2 [ par EPS32HAY ] Bonjour à tous,J'utilise l'API suivante afin de me connecter à un lecteur réseau [vb]Private Declare Function WNetAddConnection2 Lib "mpr.dll" Alias " API fenêtre Find Window [ par CYBOR2000 ] Bonjour,dans cette API,Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String API dans une fonction [ par RPG3000 ] Salut tout le monde :)Bon je cherche comment appeler une API à l'interieur d'une fonction, en utilisant des variables.Enfait, je voudrais faire ça:Pub Problème avec une API, assez bizzare [ par DeadlyPredator ] Je veux utiliser cette api :DllFunctionCall de Msvbvm60.dllÉvidament, je ne trouve pas de documentation sur cette api. Je sais par contre que cette ap Appel d'API en VB.NET : Plantage [ par venka ] Bonjour,J'ai commencé à migrer un projet VB 6.0 sous VB.NET mais je suis rapidement tombé sur un os avec mes appels d'API.En l'occurence, le problème passer une string à une DLL C++ [ par alain8550 ] Bonjour, Je veux accéder à une simple fonction d'une DLL C++. Voici la déclaration du fichier .h concernant cette fonction: [code=cpp]#define API_SP API CreateProcess [ par ShanaBurns ] Bonjour,Je voudrais utiliser l'api CreateProcess mais sous Vb.net, mais le type Any ne fonctionne plus sous cette version et je ne vois pas trop comme Comment on choppe la string avec son address ? [ par Mamath ] Salut, j'ai un pb avec un Api qui m'envoie l'address mémoire d'un texte ou une valeur numérique (tipe taille fichier).y'a pas moyen de spécifier le po erreurs code vb6 à vb.net [ par wxec ] Bonjour Je ne sais pas si mon message est dans la bonne catégorie, veuillez m'excuser d'avance. Actuellement sur un projet, nous devons transforme


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,170 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales