AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Das Handle ist ungültig

Ein Thema von EWeiss · begonnen am 2. Mai 2018 · letzter Beitrag vom 6. Mai 2018
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

AW: Das Handle ist ungültig

  Alt 5. Mai 2018, 21:27
Ich glaub das war ein RessourceString.
DLL bei dir laden und dann mit DLL-Handle und der Zahl als ID für MSDN-Library durchsuchenLoadString
reicht als Ressource-DLL, siehe LoadLibraryEx

Beim Icon das Gleiche. LoadIcon bzw. TRessourceStream

Bei Google suchenmsdn expand environment variables
Danke für die Infos.
Zitat:
DLL bei dir laden
Nun ja wenn ich den korrekten Pfad hätte ?

Muss das dann in meiner Komponente mit der PID vergleichen wenn diese 0 ist.
Werde es mal versuchen hoffe es funktioniert denn die Datei ist schon geöffnet.

gruss

Geändert von EWeiss ( 5. Mai 2018 um 22:48 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.551 Beiträge
 
Delphi 12 Athens
 
#2

AW: Das Handle ist ungültig

  Alt 5. Mai 2018, 21:30
Eine DLL ist per Definition dafür vorgesehn von mehreren Programmen gleichzeitig geladen zu werden.

(sonst könnte man auch alles direkt in die EXE einkompilieren)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Das Handle ist ungültig

  Alt 5. Mai 2018, 21:39
Eine DLL ist per Definition dafür vorgesehn von mehreren Programmen gleichzeitig geladen zu werden.

(sonst könnte man auch alles direkt in die EXE einkompilieren)
Ja sorry
Dumm von mir!

gruss
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Das Handle ist ungültig

  Alt 5. Mai 2018, 22:09
Hi, nur um was klarzustellen, Display Name muss keinen Inhalt haben.
Im Anhang ist ein mini Konsolen Programm zum Auslesen aktueller Werte.
Damit kannst Du gut Gegenprüfen ob Du auf dem Richtigen Weg bist.
Falls es Dir gefällt hier ist ein Link der Dich zum Source führt. (CPP!)
Angehängte Dateien
Dateityp: 7z meters.7z (8,6 KB, 1x aufgerufen)
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Das Handle ist ungültig

  Alt 5. Mai 2018, 22:47
Nur um das klar zu stellen ich brauche das Teil nicht und werde es auch nicht laden auch nicht im anderen Thread wo du es ebenfalls hochgeladen hast.
Ich schätze deinen Eifer und deine Bereitschaft zu Helfen aber das ist mir bekannt.

Weist du auch warum der Display Name leer ist?

Weil die Anwendungen nicht gezwungen sind das Interface IAudioEndPoint zu verwenden.
So und wenn sie es nicht verwenden wird aus deren Programm auch kein DisplayName ihre Anwendung verschickt.
Genauso verhält es sich mit deren Icons.

Aber wie gesagt das ist alles bekannt. (Wo kein Sender da kein Empfänger einfach ausgedrückt)
Ich habe andere Probleme die behoben werden müssen.
Der Rest funktioniert auch ohne dein Konsolen Programm.
DisplayName und IconPfad waren schon 3 Seiten vorher in diesem Thread erledigt und davon bin ich mittlerweile Meilensteine von entfernt.


gruss

Geändert von EWeiss ( 5. Mai 2018 um 23:01 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Das Handle ist ungültig

  Alt 6. Mai 2018, 01:21
Ich habe diesen String in Einzelteile zerlegt und möchte gerne wissen wie ihr das machen würdet.
'@%SystemRoot%\System32\AudioSrv.Dll,-203'

@%SystemRoot% soll mit dem Pfad zum Aktuellen Windows Order ersetzt werden.
und eine Variable DWORD für die ID 203 angelegt werden (extrahiert aus dem String natürlich.)

Ich habe es fertig wie man im Bild sehen kann aber mich interessiert wie ihr das macht und vor allem mit welchem Aufwand.

gruss

Geändert von EWeiss (11. Jul 2019 um 15:51 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#7

AW: Das Handle ist ungültig

  Alt 6. Mai 2018, 02:11
Ich habe diesen String in Einzelteile zerlegt und möchte gerne wissen wie ihr das machen würdet.
Gar nicht in Einzelteile zerlegen, sondern diesen String direkt an MSDN-Library durchsuchenSHLoadIndirectString übergeben, jedenfalls im Falle von String-Ressourcen. Für Icons hab ich bisher leider nichts vergleichbares gefunden.

Eine manuelle Verarbeitung - die ich nur für Nicht-String-Ressourcen machen würde - würde ich so angehen: das @ entfernen, MSDN-Library durchsuchenExpandEnvironmentStrings benutzen, um etwaige Umgebungsvariablen zu expandieren (dafür ist die Funktion da), den Icon-Index am Ende des Strings extrahieren und dann den resultierenden String und den Icon-Index an LoadIcon oder LoadImage o.ä. Funktionen übergeben, um die Icon-Ressource zu laden.

Grüße
Dalai
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Das Handle ist ungültig

  Alt 6. Mai 2018, 03:50
Nur um das klar zu stellen ich brauche das Teil nicht und werde es auch nicht laden auch nicht im anderen Thread wo du es ebenfalls hochgeladen hast.
Im anderen Thread ist Source, da ich mir dachte das Du ihn verabscheust hab ich hier das Binary geladen.
Ok ich halt mich raus.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#9

AW: Das Handle ist ungültig

  Alt 6. Mai 2018, 08:30
Zitat:
Hängt aber vielleicht davon ab, welches Programm gerade Audio abspielt. Und wer sagt, dass Microsoft diese Umgebungsvariable in Zukunft dort belässt?
Ich muss dir recht geben die ist nicht gleich.
Auf einem Koreanischen System ist es %windir% siehe Shot... Hmm jetzt habe ich ein Problem mit den Icons.
Der DisplayName sollte mit deiner Funktion richtig angezeigt werden.

function SHLoadIndirectString(pszSource, psuOutBuf: PWideChar; const ccOutBuf: UINT; var ppvReserved: Pointer): HRESULT; stdcall; external SHLWAPIDLL;

Ja, ja genau diese uses hatte ich eingebunden aber D2010 hat nix gefunden..
Danke. Für dein Schnipsel werde es verwenden in umbenannter Form.

Zitat:
Im anderen Thread ist Source, da ich mir dachte das Du ihn verabscheust hab ich hier das Binary geladen.
Sei mir nicht böse aber ich möchte gerne meine Probleme auf anderer Basis lösen (selbst erarbeiten, mein bisschen Hirn selbst bemühen)

gruss

Geändert von EWeiss (11. Jul 2019 um 15:51 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz