Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Dwmapi dll laden..

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
hitori04



Anmeldungsdatum: 21.04.2011
Beiträge: 53

BeitragVerfasst am: 26.08.2012, 23:15    Titel: Dwmapi dll laden.. Antworten mit Zitat

Hey ich wollte gerade eben eine externe dll laden aber irgendwie haut das nich so hin wie ich will

Code:
Dim dwmapi As Any Ptr
Dim As String onoff
Dim As UInteger DWM_EC_ENABLECOMPOSITION = 1
Dim As UInteger DWM_EC_DISABLECOMPOSITION = 0
Dim Win32DwmEnableComposition As Function (ByVal uCompositionAction As UInteger) As UInteger


dwmapi = DylibLoad("C:\Windows\System32\dwmapi.dll")
If( dwmapi = 0) Then
   Print "Dll nicht gefunden"
   Sleep
   End 1
EndIf

Win32DwmEnableComposition = DylibSymbol(dwmapi, "Win32DwmEnableComposition")
If( Win32DwmEnableComposition = 0) Then
   Print "Funktion nicht gefunden"
   Sleep
   End 1
ElseIf( Win32DwmEnableComposition = 1) Then
   Print "Funktion gefunden"
EndIf



um ehrlich zu sein wollte ich das ganze von diesem code hier übersetzen
Code:
public readonly uint DWM_EC_DISABLECOMPOSITION = 0;
public readonly uint DWM_EC_ENABLECOMPOSITION = 1;
[DllImport("dwmapi.dll", EntryPoint = "DwmEnableComposition")]
protected extern static uint Win32DwmEnableComposition(uint uCompositionAction);
public bool ControlAero(bool enable)
{
  try
  {
    if (enable)
      Win32DwmEnableComposition(DWM_EC_ENABLECOMPOSITION);
    if (!enable)
      Win32DwmEnableComposition(DWM_EC_DISABLECOMPOSITION);

    return true; 
  }
  catch { return false; }
}

da genau diese funktion mir bei einem problem eines anderen codes helfen würde ..
wenn mir also jemand helfen könnte wäre das wie immer sehr nett und danke im vorraus
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 26.08.2012, 23:23    Titel: Antworten mit Zitat

Code:
Win32DwmEnableComposition = DylibSymbol(dwmapi, "Win32DwmEnableComposition")

zu
Code:
Win32DwmEnableComposition = DylibSymbol(dwmapi, "DwmEnableComposition")

ändern
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
hitori04



Anmeldungsdatum: 21.04.2011
Beiträge: 53

BeitragVerfasst am: 26.08.2012, 23:30    Titel: Antworten mit Zitat

danke für die schnelle antwort, aber wenn ich nun versuche die funktion zu benutzen passirt einfach garnichts ..

Code:
Dim dwmapi As Any Ptr
Dim As String onoff
Dim As UInteger DWM_EC_ENABLECOMPOSITION = 1
Dim As UInteger DWM_EC_DISABLECOMPOSITION = 0
Dim Win32DwmEnableComposition As Function (ByVal uCompositionAction As UInteger) As UInteger


dwmapi = DylibLoad("C:\Windows\System32\dwmapi.dll")
If( dwmapi = 0) Then
   Print "Dll nicht gefunden"
   Sleep
   End 1
EndIf

Win32DwmEnableComposition = DylibSymbol(dwmapi, "DwmEnableComposition")
If( Win32DwmEnableComposition = 0) Then
   Print "Funktion nicht gefunden"
   Sleep
   End 1
ElseIf( Win32DwmEnableComposition = 1) Then
   Print "Funktion gefunden"
   Sleep
EndIf

Do
   If Win32DwmEnableComposition(DWM_EC_ENABLECOMPOSITION) And InKey = Chr(27) Then
      Print "Aero off"
      Win32DwmEnableComposition(DWM_EC_DISABLECOMPOSITION)
   EndIf
Loop
Sleep
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 26.08.2012, 23:36    Titel: Antworten mit Zitat

Wusste grad eigentlich nicht was die eigentlich tun sollte, aber bei mir funktionierts (schreck) grinsen

Wenn kein fehler gibt Funktion 0 zurück, also kann dein code nicht funktionieren, du kannst einfach nur An/Aus stellen

Also
Code:
Win32DwmEnableComposition(DWM_EC_ENABLECOMPOSITION)
zum anschalten
Code:
Win32DwmEnableComposition(DWM_EC_DISABLECOMPOSITION)
zu ausschalten

wenn erfolgreich gibts 0 zurück, und ich nehme an falls das nicht geht gibt es einen errorcode zurück, schätze die msdn gibt da mehr zu her
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
hitori04



Anmeldungsdatum: 21.04.2011
Beiträge: 53

BeitragVerfasst am: 26.08.2012, 23:40    Titel: Antworten mit Zitat

verlegen oh man, ich seh echt den wald vor lauter bäumen manchmal nicht, trotzdem danke nochmal, jetzt gehts auch bei mir grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz