Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Speicheradresse eines Pfades

Empfohlene Antworten

Hallo Leute,

weiß einer von euch, wie man die Speicheradresse einer Datei herrausbekommt von der man in VB den Pfad hat.

Z.b. mit pointer oder so, ich habs bis jetzt leider noch nicht hinbekommen.

Brauche die Adresse für eine Sendmessage.

weiß einer von euch, wie man die Speicheradresse einer Datei herrausbekommt von der man in VB den Pfad hat.
Dateien liegen üblicherweise in Dateisystemen, und diese wiederum in aller Regel nicht im Hauptspeicher.

Brauche die Adresse für eine Sendmessage.
Windowsnachrichten kannst du nur an Threads oder Fenster schicken, nicht an Dateien oder Speicheradressen.

Beschreib doch mal etwas genauer, was du vorhast.

        

        Dim msg As Long

        msg = RegisterWindowMessage("EciImportData")

        Dim hwindow As Long

        hwindow = FindWindow("EciMainFrame", vbNullString)

        Static Pfad4 As String


        Pfad4 = Pfad3 & "eluxml"

        SendMessage(hwindow, msg, Chr(34) & Pfad4 & Chr(34), 0)

So Sieht mein Code aus

Sprich ich hab eine Datei, die ich an ein Programm schicken möchte.

Mir wurde gesagt dass ich da wo Pfad4 steht die speicheradresse benötige...

Sprich ich hab eine Datei, die ich an ein Programm schicken möchte.
Nein, du hast einen String, den du als Parameter einer Nachricht an ein Fenster schicken möchtest. Dass dieser String einen Dateipfad enthält, ist hier irrelevant.

Wie hast du SendMessage deklariert?

Bekommst du eine Fehlermeldung?

 Private Declare Function RegisterWindowMessage Lib "user32" Alias _

  "RegisterWindowMessageA" (ByVal lpString As String) As Long


    Private Declare Function FindWindow Lib "user32" _

            Alias "FindWindowA" (ByVal lpClassName _

            As String, ByVal lpWindowName As String) _

            As Long


    Private Declare Function SendMessage Lib "user32" _

   Alias "SendMessageA" _

   (ByVal hwnd As Long, _

   ByVal wMsg As Long, _

   ByVal wParam As Long, _

   ByVal lParam As Long) As Long

Das sind meine Deklartationen

und fehlermeldung ist die:

Ungültige Konvertierung von der Zeichenfolge "C:\meinPfad in Typ Long.

Edit: Hab nun aus wParam string gemacht also ByVal wParam as String:

Aber geht nicht das Programm springt nicht drauf an.

____

Wenn ich die sendmessage einer Variablen übergebe kommt enthält diese

__> 8630415260060221440

Bearbeitet von ChristinaB

Hab des mit String versucht das geht nicht.

Hab auch jetzt anstatt A W genommen bekomme nun in der Variablen

--->373662154752

msg hat -> 129212459012637574

Edit:

Dim y = SendMessage(hwindow, msg, Chr(34) & Pfad4 & Chr(34), 0)

y = 373662154752

msg hat -> 129212459012637574
Da läuft ja schon mal etwas schief. Der Rückgabetyp von von RegisterWindowMessage ist 32 Bit, nicht 64. Und der Wert ist entweder 0 oder zwischen 49152 und 65535.

Wenn man die oberen 32 Bit von diesem Monsterwert ausblendet, kommt man auf 50054, das klingt schonmal nicht komplett falsch.

Hast du jetzt eine Doku zu dieser Nachricht, die die Parametertypen beschreibt?

y = 373662154752

Auch der Rückgabewert von SendMessage ist nur 32 Bit groß, nicht 64.

Was der Rückgabewert von SendMessage bedeutet, hängt von der verschickten Nachricht ab, auch hier ist die Doku notwendig.

Ich hab keine Ahnung was für ne Doku du meinst sorry...

Achso=) Nein der wurde mir von einem Programmierer gesagt der das schonmal Programmiert hat aber nicht in VB...sprich er konnte mir nur den anhaltspunkt bis dahin wo ichs jetzt programmiert habe geben...

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.