Suchergebnisse

Suchergebnisse 1-30 von insgesamt 887.

  • Benutzer-Avatarbild

    @Dideldum Ich hoffe Du hast noch ein paar von diesen WMF Dateien die da Probleme verursacht haben. Dann könntest mal ein zwei Dateien davon, in ein ZIP verpackt, hier hochladen und ich könnte mir das mal anschauen. Kann sein das alte WMFs von der Preview wegen Sicherheitsbedenken ausgeschlossen wurden. Dennoch sollte das kein Absturz verursachen. Ansonsten würde der Explorer ja auch abstürzen weil der nutzt ja das gleiche Interface für die Preview.

  • Benutzer-Avatarbild

    Zitat von Amelie: „Mich erschlagen dabei diese Werte...“ Du findest alles in der MS-Doku. Auch was SFGAO_CANCOPY bedeutet-> learn.microsoft.com/de-de/windows/win32/shell/sfgao

  • Benutzer-Avatarbild

    Zitat von Amelie: „Püüüühh da ist noch vieles was ich noch nicht verstehe.“ Der Umgang mit COM Interfaces ist auf den ersten Blick für viele erst einmal undurchsichtig und kompliziert. Wenn man sich damit aber mal intensiver beschäftigt, wird einem das gar nicht mehr so kompliziert vorkommen und man erkennt auch die Vorteile, die Windows von Haus aus in Form von APIs und COM Interfaces anbietet die es in .Net so nicht gibt. Für Dich wäre wahrscheinlich das WindowsAPICodePack, gibt es als NuGet, …

  • Benutzer-Avatarbild

    @Amelie Ich hab das jetzt nicht explizit getestet. Wie verhält sich denn das ganze wenn Du anstelle einer eigenen Kopierroutine folgendes zum kopieren verwendest? -> Dateien und Ordner löschen, kopieren, verschieben und umbenennen per IFileOperation Vorteil des ganzen wäre auch, das Du hier gleich einen Dialog mit dem Vortschritt angezeigt bekommst. Du kannst, bevor Du Dir den Code anschaust, das ganze auch einfach im Explorer testen. Also was passiert wenn Du beim Kopiervorgang im Explorer den …

  • Benutzer-Avatarbild

    Hi an alle Hier möchte ich Euch das systemeigene TreeView von Windows per Interface INameSpaceTreeControl vorstellen. Damit lässt sich jedes IShellItem, das von einer CLSID_*, FOLDERID_* oder Pfad erstellt werden kann, in einem TreeView darstellen. Im Prinzip ist das das TreeView vom Explorer. Ich habe das ganze relativ einfach gehalten und ein paar Sachen, wie ein paar SendMessage-Befehle auf das TreeView, zusätzlich eingebaut. Vllt kann das der eine oder andere das mal gebrauchen. Natürlich ge…

  • Benutzer-Avatarbild

    Zitat von DTF: „Hast du etwa die Datei im Clipboard?“ Joa, klingt ganz danach. @dherr Ich glaub was Du suchst ist Clipboard.GetDataObject -> DataFormats mit voraussichtlich FileDrop.

  • Benutzer-Avatarbild

    @Dideldum Hier könnte das Interface IExplorerBrowser evtl. ein Ansatz sein. Nur so ein Gedanke, wenn Du Dein Programm mit administrativen Rechten startest und Du aus Deinem Programm heraus einen eigenen Explorer per IExplorerBrowser anbietest, dann müsste dieser Explorer die gleichen Rechte besitzen wie Dein Programm. Ich hab das jetzt zwar nicht getestet, sollte aber vom Gedanken her funktionieren.

  • Benutzer-Avatarbild

    Hi @Dideldum Zitat von Dideldum: „habe jetzt das ganze Weekend recherchiert und es scheint wohl tatsächlich so, dass bei dem IExplorerBrowser die Kontextmenus in der Treeview und Listview nicht änderbar sind... Ebenso verhält es sich mit den Programm-Symbolen.“ Ich würde das nicht zu 100% ausschließen wollen, das es doch möglich ist. Sofern man an die hWnd des TreeView oder ListView kommt, und das sollte möglich sein, kann man diese Subclassen. Hier wäre es durchaus möglich die Items zu Ownerdra…

  • Benutzer-Avatarbild

    Netzwerk Probleme

    -Franky- - - Off-Topic

    Beitrag

    @DTF Hast Du Dir evtl. mal Gedanken für ein NAS oder, wenn Dein Router es kann, dort eine externe Festplatte anzuschließen wo Du auf Deine Ordner zugreifen kannst anstatt über freigegebene Ordner zu arbeiten?

  • Benutzer-Avatarbild

    Zitat von Dideldum: „Wie ich das so recherchiert habe, ist dieses Interface eine 1:1 Kopie des rechten Explorer-Controls.“ Das Interface IExplorerBrowser ist ein kompletter Explorer-Control. Also inkl. TreeView im linken Fenster und ListView im rechten Fenster und verhält sich auch wie der Explorer inkl. der bekannten Kontextmenüs. Man übergibt nur einen Pfad, und der Rest wird vom Control erledigt. In bestimmten Grenzen lässt sich das Control auch konfigurieren. Was man auf den ersten Blick nic…

  • Benutzer-Avatarbild

    Zitat von Dideldum: „Weisst Du, ob sich meine o.g. Anforderungen generell mit dem Einsatz der Interfaces realisieren lassen?“ Zumindest mit dem IExplorerBrowser und FillFromObject bekommst Du das rechte Fenster des Explorer in Deinem Programm. Ob Du das dann so in Deinem Programm gebrauchen kannst oder sinnvoll ist, müsstest halt testen.

  • Benutzer-Avatarbild

    Hi. In Deinen Büchern wirst Du kaum Beispiele zu den genannten COM Interfaces finden. Eventuell noch wie man in .NET COM Interfaces instanziert. Ansonsten ist die erste Anlaufstelle die MS-DOKU und die Header-Dateien des Windows SDK. Ja, die MS-Doku kann man auch auf deutsch lesen, würde ich aber nicht empfehlen da einige Begriffe total falsch übersetzt sind. Ich bin mir aber sehr sicher das Beispiele im Internet zu finden sind. Vielleicht nicht in VB.NET, aber in anderen Sprachen wie C++, C# us…

  • Benutzer-Avatarbild

    Hi. Ich bin derzeit im Urlaub und kann daher erstmal nichts zu sagen. Was ich aber sehe ist, das der zusätzliche Code, der ja nichts mit mit dem IPreviewHandler zu tun hat, das Icon vom IrfanView lädt. Demnach gibt es bei Dir kein Handler für WMF Dateien oder der Handler ist defekt bzw wurde verdreht. Step einfach mal den Code durch und schau mal ob ich irgendwo ein Dispose oder Release vergessen habe.

  • Benutzer-Avatarbild

    Zitat von Amelie: „Leider finde ich solche Einstellungen beim Druckertreiber nicht.“ Durchaus möglich das es diese Einstellung in der Light-Version vom PDF-XChange-Drucker nicht gibt. Ich hatte unter Win7 den Bullzip-PDF Drucker im Einsatz und da konnte man für PDF die JPEG-Kompression für Bilder auf Flat-Kompression umstellen. Letztere war dann eine verlustfreie Kompression.

  • Benutzer-Avatarbild

    @Amelie Wenn Du Glück hast, lässt sich für deinen PDF-Drucker, die JPEG-Kompression einstellen. Auszug aus Google: PDF-XChange Standard Move to the Control Panel. Click Devices and Printers. Right-click PDF-XChange Standard and select Printing preferences. The Printing preferences dialog box will open. Click the Compression tab and reduce the JPEG quality to 50%: Du müsstest natürlich die JPEG-Qualität, wenn es beim ​PDF-XChange Light auch solche Einstellungen gibt, erhöhen was im Endeffekt auch…

  • Benutzer-Avatarbild

    Hi. Handelt es sich um reale Ordner/Dateien auf der HD? Wenn ich mir Dein Bild anschaue, könnte ich mir für das TreeView auch das COM-Interface INameSpaceTreeControl vorstellen da Du hier nur einen bestimmten Pfad mit Ordnern darstellst und nicht das komplette linke Fenster des Explorer. Bei der Ansicht der Dateien, würde ich dann IExplorerBrowser::FillFromObject <- IShellItem (Ordner) vom INameSpaceTreeControl nehmen. Der zeigt dann nur das rechte Fenster des Explorer mit den Dateien, inkl. Ico…

  • Benutzer-Avatarbild

    @Dideldum Hmm, TreeView mit Ordner und DGV mit Dateien und Icons usw. Klingt so als würdest sowas wie den Explorer nachprogrammieren wollen. Wenn ja, dann schau Dir mal das COM Interface IExplorerBrowser an -> learn.microsoft.com/en-us/wind…idl_core-iexplorerbrowser

  • Benutzer-Avatarbild

    Zitat von stefan67: „Function CH341InitParallel(iIndex: cardinal; iMode :cardinal): boolean; Stdcall; external 'CH341DLL.DLL';“ Würde ich folgendermaßen nach VB6 übersetzen: Private Declare Function CH341InitParallel Lib "CH341DLL.DLL" (ByVal iIndex as Long, ByVal iMode as Long) As Long. Zitat von stefan67: „procedure CH341CloseDevice(iIndex: cardinal); Stdcall; external 'CH341DLL.DLL';“ Könnte ein Sub sein. Private Declare Sub CH341CloseDevice Lib "CH341DLL.DLL" (ByVal iIndex As Long) Zitat von…

  • Benutzer-Avatarbild

    Hi. Datentyp Cardinal -> oreilly.com/library/view/delphi-in-a/1565926595/re33.html VB6 kennt aber keine unsigned Datentypen (z.B. ULong), bis auf Byte. Ich würde dennoch einfach mal den Datentyp Long (32bit) verwenden.

  • Benutzer-Avatarbild

    Hi. Das geht über "Erweiterte Antwort". Da kannst Du Dateianhänge hochladen. In der ZIP dürfen keine ausführbaren Dateien enthalten sein! Speziell die Ordner BIN und OBJ (bzw. deren UnterOrdner von BIN und OBJ) von Deinem Projekt sollten leer sein.

  • Benutzer-Avatarbild

    Hi Entweder Du klickst auf dieses durchgestrichene Auge der die Tags automatisch einfügt, oder Du schreibst die Tags [spoiler]​[/spoiler] selber. Innerhalb dieser Tags kannst Du dann andere Tags einfügen.

  • Benutzer-Avatarbild

    Zitat von dherr: „Ich werde demnächst meine Programmversion hier einstellen. Ist das OK für dich?“ Ja klar, ich erhebe da keinen Anspruch auf den ursprünglichen Code.

  • Benutzer-Avatarbild

    Hi Also, ich hatte geschrieben das MMDeviceEnumerator.GetDefaultAudioEndpoint direkt unter "If MMDeviceEnumerator IsNot Nothing Then" kommt. Bei Dir steht der Code aber ganz wo anders. Dann fragst Du bei MMDeviceEnumerator.GetDefaultAudioEndpoint -> MMDevice gar nicht die ID ab (MMDevice.GetId(DevId)) -> String. Diesen String vergleichst mit der ID, die Du innerhalb von MMDeviceCollection.Item(Device, MMDevive) -> MMDevive.GetId(DevId) bekommst. Huch, da hab ich mich wohl vertippelt: MMDevive so…

  • Benutzer-Avatarbild

    Hi Das was Du noch machen möchtest, kommt unter der Zeile If MMDeviceEnumerator IsNot Nothing Then und ja, der Aufruf von MMDeviceEnumerator.GetDefaultAudioEndpoint gibt 0 = S_Ok zurück, wenn der Aufruf erfolgreich war. Denn dann kannst Du MMDevice.GetId abfragen. Genauso wie nach der Zeile If MMDeviceCollection.Item(... nur das Du hier nur die ID brauchst. Den Rest nicht bis auf das Marshal.ReleaseComObject

  • Benutzer-Avatarbild

    Hi Zunächst brauchst Du eine zusätzliche Enum VB.NET-Quellcode (5 Zeilen) Im Interface IMMDeviceEnumerator entsprechend die Funktion GetDefaultAudioEndpoint anpassen. VB.NET-Quellcode (3 Zeilen) Im Grunde rufst "MMDeviceEnumerator.GetDefaultAudioEndpoint(DATA_FLOW.Render, Role.Multimedia, MMDevice)" auf, lass Dir dann mit MMDevice.GetId die Id ausgeben. Diese Id vergleichst mit der Id, die Du über die Enumeration aller Rendergeräte ermitteln kannst. Stimmen die Ids überein, hast Du das derzeit e…

  • Benutzer-Avatarbild

    Zitat von dherr: „Leider ist da keine Eigenschaft dabei, die vermittelt, welches Soundgerät gerade aktuell ist“ Wenn Du Dir meinen Code anschaust, dann fällt Dir sicher IMMDeviceEnumerator::GetDefaultAudioEndpoint auf. Die MS-Doku sagt dazu: Die GetDefaultAudioEndpoint-Methode ruft den Standard-Audioendpunkt für die angegebene Datenflussrichtung und -rolle ab. Das wäre das, was Du noch suchst. Auch wenn ich diese Interface-Funktion nicht komplett übersetzt habe, sollte es Dir keine Probleme bere…

  • Benutzer-Avatarbild

    @dherr Weil heute Sonntag ist und ich etwas Zeit hatte. Auf die schnelle zusammengeklöppelt und alles in einer Form. Daher sicher Verbesserungswürdig. Einige Interface-Funktionen sind nicht komplett da diese sowieso nicht benötigt werden. Wenn man die entsprechenden PKeys kennt, kann man die Info direkt auslesen anstatt durch alle Properties zu enumerieren. (Versteckter Text)

  • Benutzer-Avatarbild

    Hi Solche Sachen sind standardmäßig nicht in .NET vorhanden. Das muss man entweder selbst programmieren oder falls vorhanden, entsprechende Nuget-Pakete oder Drittanbieter-DLLs verwenden. Ich bin mir sehr sicher das Du einige Beispiele zu den von mir vorgeschlagenen Möglichkeiten im Internet findest.

  • Benutzer-Avatarbild

    @dherr k.A. ob @RodFromGermany dafür das gleiche nutzt. Mein erster Gedanke geht hier her: learn.microsoft.com/en-us/wind…enumerating-audio-devices Mein zweiter Gedanke geht in Richtung WinRT: learn.microsoft.com/de-de/uwp/…meration?view=winrt-22621 Hier würde ich dich sogar auf den DevicePicker verweisen der einen Dialog mit den entsprechenden Geräten (Filter) anzeigt.

  • Benutzer-Avatarbild

    Zitat von Haudruferzappeltnoch: „Aber @-Franky- weiß bestimmt wie man an solche Innereien kommt“ Hmm, ich würde mal die Protected Overrides Function ProcessCmdKey ausprobieren. learn.microsoft.com/en-us/dotn…y?view=windowsdesktop-8.0 Die liefert neben den Keys auch eine Message. Bei Message mal schauen ob es da Unterschiede zwischen NumPad.Enter und Return bei lParam/wParam usw. gibt.