vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Brauche Hilfe bei der Übersetzung von C# nach VB Net 
Autor: Toolmaster
Datum: 23.04.11 23:07

Nabend

Ich habe folgendes Beispiel von C# nach VB NET übersetzt. Leider funktioniert es nicht ganz. Dieser Code soll eine Anwendung an die Windows 7 Taskleiste anheften und/oder lösen. Hoffe ihr könnt mir helfen was ich falsch übersetzt habe.

private static void PinUnpin(string filePath, bool pin)
{
if (!File.Exists(filePath)) throw new FileNotFoundException(filePath);
 
// create the shell application object
dynamic shellApplication = Activator.CreateInstance(Type.GetTypeFromProgID( _
  "Shell.Application"));
 
string path = Path.GetDirectoryName(filePath);
string fileName = Path.GetFileName(filePath);
 
dynamic directory = shellApplication.NameSpace(path);
dynamic link = directory.ParseName(fileName);
 
dynamic verbs = link.Verbs();
for (int i = 0; i < verbs.Count(); i++)
{
dynamic verb = verbs.Item(i);
string verbName = verb.Name.Replace(@"&", string.Empty).ToLower();
 
if ((pin && verbName.Equals("pin to taskbar"))
|| (!pin && verbName.Equals("unpin from taskbar"))
)
{
verb.DoIt();
}
}
 
shellApplication = null;
}
So und nun meine Übersetzung nach VB Net

 Private Shared Sub PinUnpin(ByVal filePath As String, ByVal pin As Boolean)
        If Not File.Exists(filePath) Then
            Throw New FileNotFoundException(filePath)
        End If
 
        ' erstelle ein shell object
        Dim shellApplication As Shell = Activator.CreateInstance( _
          Type.GetTypeFromProgID("Shell.Application"))
 
        Dim path1 As String = Path.GetDirectoryName(filePath) ' ist das 
        ' verzeichnis
        Dim fileName As String = Path.GetFileName(filePath) ' ist der Dateiname
 
        Dim directory As Folder = shellApplication.[NameSpace](path1)
        Dim link As FolderItem = directory.ParseName(fileName)
 
        Dim verbs As Object = link.Verbs()
        For i As Integer = 0 To verbs.Count() - 1
            Dim verb As FolderItem = verbs.Item(i)
            Dim verbName As String = verb.Name.Replace("&", _
              String.Empty).ToLower()
 
            If (pin AndAlso verbName.Equals("pin to taskbar")) OrElse (Not pin _
              AndAlso verbName.Equals("unpin from taskbar")) Then
                verb.DoIt()
            End If
        Next
 
        shellApplication = Nothing
    End Sub
Bei einem Aufruf mit
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
  System.EventArgs) Handles Button1.Click
        PinUnpin("C:\W.exe", True)
    End Sub
bekomme ich hier
Dim verb As FolderItem = verbs.Item(i)
folgenden fehler:


Nicht implementiert (Ausnahme von HRESULT: 0x80004001 (E_NOTIMPL))
Hoffe ihr könnt mir helfen diesen code richtig zu übersetzen.

Danke schon mal für eure Hilfe.

Grüße
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Brauche Hilfe bei der Übersetzung von C# nach VB Net2.505Toolmaster23.04.11 23:07
Re: Brauche Hilfe bei der Übersetzung von C# nach VB Net1.591Manfred X23.04.11 23:56
Re: Brauche Hilfe bei der Übersetzung von C# nach VB Net1.512Toolmaster24.04.11 11:18
Re: Brauche Hilfe bei der Übersetzung von C# nach VB Net1.423Preisser24.04.11 14:25
Re: Brauche Hilfe bei der Übersetzung von C# nach VB Net1.438Toolmaster24.04.11 15:31
Re: Brauche Hilfe bei der Übersetzung von C# nach VB Net1.480ModeratorDaveS24.04.11 19:39

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel