6
votes

Comment puis-je découvrir le dossier de bureau de l'utilisateur?

Je fais une petite application dans Visual Studio qui charge une ROM dans un émulateur. J'ai deux émulateurs et 20 roms.

J'ai fait une forme et ajouté quelques boutons. Lorsque vous cliquez sur le bouton, il ouvre un nouveau formulaire et ferme l'ancien. Ensuite, sur le nouveau formulaire, j'ai quatre boutons: chacun chargé une ROM différente dans un émulateur. Donc, lorsque vous appuyez sur la touche1, ce code est déclenché: p>

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles yellow.Click
Shell("C:\Users\shifty\Desktop\pokemon games\Emulator\VBA\VisualBoyAdvance.exe ""C:\Users\shifty\Desktop\pokemon games\Roms\Yellow\Pokemon Yellow.gb""", vbNormalFocus)
End Sub


8 Réponses :


-2
votes

Vous devez utiliser une boîte de dialogue Ouvrir un fichier pour choisir votre chemin pour les deux fichiers. ici est un exemple.

Vous utilisez ensuite les deux chemins Votre code: xxx


1 commentaires

tout cela n'a aucun sens pour moi quoi que ce soit désolé



41
votes

environnement.gefolderPath (environnement.specialfolder.desktop)

Cela va résoudre pour être le dossier de bureau de l'utilisateur actuel.

Il fonctionnera même entre XP, Vista et Windows 7 correctement.


7 commentaires

@Spence Pourriez-vous mettre le code là où il doit aller ensuite le coller sur moi boutonnière privée1_click (Sender byval en tant que système.Object, byval E comme système.eventargs) gère Yellow.click Shell ("C: \ Utilisateurs \ shifty \ Desktop \ pokemon jeux \ émulator \ vba \ visualboyadvance.exe "" C: \ utilisateurs \ shifty \ dektop \ pokemon jeux \ roms \ jaune \ pokemon jaune.gb "" ", vbnormalfocus) fin


@MC Sh1fty: Viens sur! @pwninsteing et @Spence vous a donné la bonne réponse. Est-ce qu'ils ont à vous reprocher à vous aussi? Aspirez-vous pour la comprendre vous-même: Environnement d'impression.GetFolderDePath (Environnement.Specialfolder.desktop)) . Voir quels résultat de ces correspondances dans votre code.


@ Jean-François Corbett Comme si je l'ai dit dans la question que quelqu'un a supprimé des charges de BTW, je ne suis pas si bon au codage de l'apprentissage et que chaque fois que je tape ce code sur lequel tout le monde se passe sur environ 10 erreurs disant des trucs comme des erreurs de syntaxe, Codes non valides, extrémité inattendue à la chaîne et aux charges d'autres IV ont essayé des charges de sites différents et ils pensent tous savoir quoi faire, mais ils ne me donnent que le code que seul est inutile, j'ai besoin d'aide pour ne pas avoir d'aide


@MC Sh1fty: Si vous regardez les excellentes réponses valides, vous obtenez gratuitement d'experts ici comme "Jibberish", alors clairement que vous êtes sur le mauvais site, et vous voudrez peut-être essayer d'essayer les autres, mieux vous semblez à savoir. Il y a beaucoup d'autres débutants ici et les gens ici seront volontiers les aider et le faire tout le temps. Heureusement, seule une petite minorité de débutants gémissant pour la cuillerée - et très peu de gens vont cuiller à la cuillerée lorsqu'il est gémi.


@ Jean-François Corbett im ne plongeez pas à quiconque je demande juste demander un peu d'aide, je ne sais pas où ce code va ou comment l'utiliser IV a essayé mais je continue à obtenir des erreurs et je suis un débutant j'ai commencé ma candidature hier j'ai commencé codage hier et tout ce que je demande est un peu d'aide et tout ce que je reçois est Environnement.GubleFolderPath (Environnement.Specialfolder.desktop)) C'est peut-être la bonne réponse, mais je ne sais pas quoi faire avec c'est trop pour Demandez un peu d'aide sans vous faire chier à vous ???


@ Jean-françois Corbett et je fais cela pour d'autres personnes, ma demande fonctionne bien pour moi tout ce dont j'ai besoin, c'est un peu d'aide pour que cela fonctionne pour que d'autres personnes ne soit pas comme si je ne traîne pas pour mon gain personnel im essayant de le faire pour les membres d'un site de jeu J'ai trouvé une application similaire mais je n'avais pas de jeux à ce sujet, j'ai fait la mienne avec 20 matchs jusqu'à présent et si les gens que suggérer des jeux, ils peuvent alors les ajouter que j'ai déjà des charges qui attendent mon application mais si je donne leur maintenant il ne fonctionnerai pas, je veux juste aider à faire fonctionner pour tout le monde


Pour ce faire avec PowerShell, utilisez ce qui suit: [Environnement] :: GetFolderPath ([Environnement + Specialfolder] :: De Sktop)



4
votes

Il existe un mécanisme pour obtenir le répertoire de bureau actuel de l'utilisateur, à l'aide de Environnement.Specialfolder .

Utilisation:

environnement.gefolderpath (environnement.specialfolder.desktop));


1 commentaires

alors, où mettais-je le code environnement.gefolderPath (environnement.specialfolder.desktop)) dans celui que j'ai déjà ????



0
votes

En utilisant que vous garantissez que l'émulateur est sur le bureau des utilisateurs. Ce n'est pas toujours le cas. Je sais que je déplace des choses autour de ce que je télécharge ou un ami me envoie. Il est préférable d'utiliser App.Path et assurez-vous que votre émulateur est dans le répertoire avec votre petit programme frontal (généralement le cas).


0 commentaires

8
votes

Old Post mais je dois faire face avec MC Shifty. Vous ne pouvez pas supposer que tout le monde est un expert codant. S'ils étaient alors, ils ne seraient pas là poser des questions comme ça.

Aucune des réponses données ci-dessus n'a été complète p>

Environnement.GetFolderDolder.desktop)) Code > environnement.getfolderpath (environnement.specialfolder.desktop)); code>

Les deux ne vous donnent que la moitié du code requis pour générer quelque chose d'utilisable. P>

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles yellow.Click
    Dim s As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
    Shell(s & "\Desktop\pokemon games\Emulator\VBA\VisualBoyAdvance.exe " & s & "\pokemon games\Roms\Yellow\Pokemon Yellow.gb""", vbNormalFocus)
End Sub


5 commentaires

Les autres réponses ne supposent pas qu'il est un expert, ils supposent simplement qu'il devait savoir comment Google une méthode et lire à ce sujet sur MSDN (une compétence de base que chaque programmeur devrait avoir)


@Wayne donc, vous trouvez 40 commentaires embrouillés plus succinct que deux phrases de clarté? C'est des gens comme toi qui font tellement sucer;)


@Mattt Je trouve le très succinct, top vote, répondez à être plus que suffisamment clair pour tout utilisateur qui veut apprendre.


Mon point est toujours valide. Vous et d'autres personnes gaspillent beaucoup de temps châtrage des gens au lieu de simplement répondre. Dans certaines situations, c'est acceptable ... la plupart du temps, vous êtes simplement des secousses. À chacun leur propre je suppose.


La réponse est incorrecte quand même, n'est-ce pas? Cela produira C: \ users \ user \ shifty \ dektop \ jeux de bureau \ pokemon \ émulateur \ vba \ visualboyadvance.exe . Notez le "Desktop \ Desktop"



0
votes

La réponse est simple.

  • Mettez ceci en haut de la forme
  • "Public ThePath en tant que String = Environnement.GetFolderDePath (Environnement.Specialfolder.desktop)"
  • qui garantit que le fichier est sur leur bureau!
  • Puis "Cliquez sur votre bouton ou tout ce que vous avez utilisé pour ouvrir l'UMU et le type
  • "Process.Start (ThePath +" L'émulateur.exe "+" La ROM que vous voulez ")

0 commentaires

3
votes

J'ai eu des problèmes à l'aide de la méthode Environment.GetFolderDePath des réponses précédentes.

Les travaux suivants dans VB 2012, My.computer.FileSystem.SpecialDirectories.desktop

Donc, si vous avez un fichier sur un bureau d'utilisateur nommé "contacts.txt" , le suivant affichera le chemin complet, xxx


documentation


0 commentaires

3
votes

Vraiment vieux post à ce stade, mais hé, j'ai trouvé ce que je cherchais.

Mc Sh1fty, je suppose que vous l'avez déjà compris, mais pour faire ce que vous essayez de faire: p> 1) Appelez dans ce code que Spence a écrit comme une variable (je le déclarerais globalement, mais c'est ma préférence. Pour ce faire: P>

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles yellow.Click
        Dim s As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
        Shell(s & "\Desktop\pokemon games\Emulator\VBA\VisualBoyAdvance.exe " & s & "\pokemon games\Roms\Yellow\Pokemon Yellow.gb""", vbNormalFocus) 
End Sub


0 commentaires