Suchergebnisse

Suchergebnisse 1-30 von insgesamt 867.

  • 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.

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „Wenn solch in C# nicht vorkommt, ist es nicht .NET.“ Eher unwahrscheinlich das das jemand macht, aber diesen Namespace kannst auch in C# verwenden und wenn es etwas in C# gibt, das es in VB.NET nicht gibt, ist dann VB.NET kein .NET?

  • Benutzer-Avatarbild

    Zitat von Haudruferzappeltnoch: „So wie ich das verstanden habe, ist Microsoft.VisualBasic ein Namespace in der Programmiersprache VB und wie man sieht in einem VB.NET Projekt verwendbar“ Dieser Namespace richtet sich hauptsächlich an die, die aus der VB6 Welt kommen um ihnen den Einstieg zu VB.NET zu erleichtern. Eventuell werden die VB6 Befehle aus diesem Namespace intern auf die entsprechenden .NET Befehle gemappt. Also bei Len(String) wird intern String.Lenght ausgeführt. Da müsste man mal e…

  • Benutzer-Avatarbild

    @rrobbyy Mit der Preview kommst Du, mit den zusätzlichen Anforderungen, nicht weiter. Entweder es gibt da noch andere PDF-Viewer (NuGet) die das können was Du möchtest, oder Du programmierst Dir, leider erst ab Win10 möglich weil das über die WinRT geht, alles selber. Zum einen gibt es PDF, Seiten als Bilder anzeigen und extrahieren Damit kannst Du erstmal die Seiten einer PDF als Bilder rendern und diese zur Anzeige bringen. Nachteil: Links und ausfüllbare Felder funktionieren dann natürlich in…

  • Benutzer-Avatarbild

    Zitat von dive26: „und das ergibt keine flüssige Animation, sondern ein unschönes Flackern“ Hier müsste man dann unter Umständen einen DirectX-SwapChain einsetzen. Das bläht den Code noch weiter auf, flackert dann aber nicht mehr. Wie geschrieben, der Aufwand das selbst zu programmieren ist sehr hoch.

  • Benutzer-Avatarbild

    Zitat von dive26: „Wie schon damals, habe ich auch kein Problem das SVG zu erstellen und auch das Rendering gelingt mit "vielen" Komponenten recht einfach. Aber eben immer nur als Standbilder. Aber hier geht es ja nicht nur einfach um ein starres SVG-Bild, sondern um eine Animation im SVG.“ Das meinete ich als ich schrieb, da müsste man wohl direkt auf das XML der SVG zugreifen. ID2D1DeviceContext5::CreateSvgDocument -> ID2D1SvgDocument::xxx und weiter ID2D1SvgDocument::GetRoot -> ID2D1SvgElemen…

  • Benutzer-Avatarbild

    @dive26 Zum Thema WinRT WebView hatten wir schon mal was. -> WebView2 wirklich so umständlich zum Veröffentlichen? Auch zum Thema SVG rendern hatten wir schon mal was: -> SVG to IMG ohne externe Komponente

  • Benutzer-Avatarbild

    Jupp, viele Wege führen zum Ziel. Ob das alte Webbrowser-Control dafür noch geeignet ist, kann ich nicht sagen und ich glaub dive26 wollte nicht unbeding WebView2 verwenden/ausrollen/installieren/verteilen. Das WinRT Webbrowser-Control wäre eine alternative dazu und bis .NET 4.8.xx auch einfach per Referenz auf die Windows.winmd einfach zuverwenden auch wenn dieser noch die alte Edge-Renderengine verwendet und erst ab Win10 zur Verfügung steht.

  • Benutzer-Avatarbild

    Zitat von DTF: „Lass das bleiben mit Forms. ...die Hardwarebeschleunigt rendert ... DirectX“ Sagen wir mal so, es ist durchaus mit "ein paar Zeilen Code, ohne zusätzliche DLLs oder Referenzen" möglich, mit WIC und Direct2D, eine SVG in WinForms zu rendern und sogar zu erstellen. Ob man darüber auch animierte SVGs gerendert bekommt, kann ich im Moment nicht sagen. Du hast aber vollen Zugriff auf die XML der SVG und kannst so also neue Elemente hinzufügen/löschen/ändern usw. Die Frage ist nur, ob …

  • Benutzer-Avatarbild

    Hier war wohl @Bluespide der richtige Tippgeber in die Richtung per API SHFileOperation. Die API ist aber seit WinVista eher als veraltet zu betrachten und wenn man der Doku folgt, kommt man zu IFileOperation.

  • Benutzer-Avatarbild

    ImageTypesLibrary

    -Franky- - - Libraries / Controls

    Beitrag

    Anstatt die MagicBytes eines Bildes auszulesen, kannst auch einfach .NET nutzen. VB.NET-Quellcode (34 Zeilen) Auch das ermitteln aller Bild-Encoder wäre in .NET möglich. Alternativ wäre auch WIC eine Möglichkeit wobei WIC noch mehr Bildformate lesen kann.

  • Benutzer-Avatarbild

    Zitat von DTF: „die solche ToastsNotifications nervig finden“ Ja klar, man sollte den User nicht mit ToastMessages überschwemmen. Zitat von DTF: „Man kann sich auch selbst so ein Toast machen. Man nehme Mehl, Wasser, Salz, Hefe......“ ...und zum Nachtisch gibt es ... Nee was mir gestern Abend noch so durch den Kopf ging ist: Wenn man sich nun ein eigenes PopUp bastelt, worüber man als User nun gar keine Kontrolle hat wie oft der aufplöpt, kann man den User auch mit Messages überschwemmen. Dann d…

  • Benutzer-Avatarbild

    Zitat von Dideldum: „Dadurch erhalten Sie eine offizielle AppID im Windows Store, die dann für Toast-Benachrichtigungen verwendet werden kann. Dieser Prozess erfordert jedoch zusätzliche Schritte und die Einreichung Ihrer App in den Microsoft Store.“ Nö. Ja, Dein Programm benötigt eine AppID. Das ist aber auch nur eine eindeutige GUID oder Name um Dein Programm von den anderen zu unterscheiden bzw. damit eine ToastMessage dein Programm zugeordnet werden kann bzw. damit Du über den ToastManager a…

  • Benutzer-Avatarbild

    Zitat von Dideldum: „Von diesem Toastbrot, äh, ToastNotification höre ich eben zum ersten mal.“ Aber gesehen hast die sicher schon zigmal. Am einfachsten sind die Standard-Toast. Bei Generic-Toast hast noch mehr Möglichkeiten aber hier müssen auch bestimmte Bedingungen erfüllt sein. Scheduled-Toast die Zeitgesteuert angezeigt werden können usw. Es gibt wohl ein entsprechendes CommunityToolKit dafür, hab das aber bisher nicht genutzt. Hier noch ein Link was so mit der ToastNotification geht: docs…

  • Benutzer-Avatarbild

    @Dideldum Ahh, die NotifyIcon Klasse und da der BalloonTip. Jupp, da dürfte die Duration aus Abwärtskompatibilität noch drin sein. Ab Win8?, zumindest ab Win10 (falls per RegKey nicht wieder umgestellt auf die alten BalloonTips) sollte der Aufruf des NotifyIcon.BalloonTip auf die Windows ToastNotification umgeleitet werden wenn ich nicht falsch liege. Allerdings dann auch nur mit beschränkten Gestalltungsmöglichkeiten. Also wenn ich nicht komplett daneben liege, dann kannst auch gleich direkt di…

  • Benutzer-Avatarbild

    @Dideldum Hmm, die NotifyIcon Klasse ist nicht das gleiche wie die ToolTip Klasse. Ok, im weitesten Sinne dann aber doch da beide auf der TOOLTIPS_CLASS basieren. Deswegen bin ich ein wenig verwirrt welche Klasse Du genau meinst.

  • Benutzer-Avatarbild

    @DTF Ich empfinde das auch negativ das ab NET5 die Unterstützung für Winmd's entfallen ist. Auf der anderen Seite stehen Dir ja die Header-Files für WinRT (Bluetooth, BLE) aus dem SDK zur Verfügung. Wenn MS es nicht schafft entsprechende Pakete bereit zu stellen, dann muss man sich das ganze halt selbst programmieren. Ist zwar viel Arbeit, dafür hast den Code dafür selbst in der Hand und musst Dich nicht wundern warum mal was kompiliert und mal nicht.

  • Benutzer-Avatarbild

    Ich verstehe ChatGPT so das die in .NET enthaltene ToolTip-Klasse ein verändern der Duration nicht mehr unterstützt. Wenn dem so ist, was man ja Nachprüfen könnte, dann wäre das noch ein negativ Beispiel aus dem .NET Universum wo ich dann denke: Warum MS? What ever. Du kannst Dir auch per API CreateWindowsEx selbst ein ToolTip-Fenster erstellen. learn.microsoft.com/en-us/wind…controls/tooltip-controls Hier sollte, hab das seit Ewigkeiten nicht mehr genutzt, das einstellen der Duration/Delay wie …

  • Benutzer-Avatarbild

    Hmm, klingt für mich etwas komisch erst die Duration auszulesen, einen neuen Wert für die Duration zu schreiben um dann einen BalloonTip anzuzeigen um danach den alten Wert zurück zuschreiben. Beschreib mal genauer was Du vor hast denn wenn ich mich recht erinnere sollte die ToolTip-Klasse doch entsprechende Properties haben um die Duration/Delay zu setzen. Im Prinzip wird per API SendMessage an das hWnd des ToolTip-Fensters mit Flag TTS_BALLOON die Message TTM_SETDELAYTIME mit TTDT_AUTOPOP und …

  • Benutzer-Avatarbild

    Ursprünglicher Post von @ErfinderDesRades ist nun im richtigen Thread.

  • Benutzer-Avatarbild

    @Dideldum Ich hab mal VS2022 mit einem Benutzer, der Adminrechte besitzt, gestartet und meinen Code getestet. Sowohl im Debug als auch im Release gibt der Code beim testen in der IDE True zurück. Test: VB.NET-Quellcode (9 Zeilen)