1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. funkey

Beiträge von funkey

  • PluginOpen()

    • funkey
    • 21. April 2009 um 18:53

    PluginOpen wurde doch afaik durch die Dll...-Funktionen ersetzt, aber manchmal kann es immer noch nützlich sein.

    @Deepred: Das habe ich gefunden

    Spoiler anzeigen
    C
    #include <stdio.h>
    #include <windows.h>
    #include "AU3_Plugin_SDK\au3plugin.h"
    
    
    /****************************************************************************
    * Function List
    *
    * This is where you define the functions available to AutoIt. Including
    * the function name (Must be the same case as your exported DLL name), the
    * minimum and maximum number of parameters that the function takes.
    *
    ****************************************************************************/
    
    
    /* "FunctionName", min_params, max_params */
    AU3_PLUGIN_FUNC g_AU3_Funcs[] = 
    {
    {"AnalyzeHand", 7, 7}
    };
    
    
    
    
    /****************************************************************************
    * AU3_GetPluginDetails()
    *
    * This function is called by AutoIt when the plugin dll is first loaded to
    * query the plugin about what functions it supports. DO NOT MODIFY.
    *
    ****************************************************************************/
    
    
    AU3_PLUGINAPI int AU3_GetPluginDetails(int *n_AU3_NumFuncs, AU3_PLUGIN_FUNC **p_AU3_Func)
    {
    /* Pass back the number of functions that this DLL supports */
    *n_AU3_NumFuncs = sizeof(g_AU3_Funcs)/sizeof(AU3_PLUGIN_FUNC);
    
    
    /* Pack back the address of the global function table */
    *p_AU3_Func = g_AU3_Funcs;
    
    
    return AU3_PLUGIN_OK;
    }
    
    
    
    
    /****************************************************************************
    * DllMain()
    *
    * This function is called when the DLL is loaded and unloaded. Do not 
    * modify it unless you understand what it does...
    *
    ****************************************************************************/
    
    
    BOOL WINAPI DllMain(HANDLE hInst, ULONG ul_reason_for_call, LPVOID lpReserved)
    {
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
    break;
    }
    return TRUE;
    }
    
    
    
    
    /****************************************************************************
    *AnalyzeHand
    *
    ****************************************************************************/
    int HR[32487834];
    int LookupHand(int* pCards)
    {
    int p = HR[53 + *pCards++];
    p = HR[p + *pCards++];
    p = HR[p + *pCards++];
    p = HR[p + *pCards++];
    p = HR[p + *pCards++];
    p = HR[p + *pCards++];
    return HR[p + *pCards++];
    }
    AU3_PLUGIN_DEFINE(AnalyzeHand)
    {
    AU3_PLUGIN_VAR *pMyResult;
    int card1, card2, card3, card4, card5, card6, card7, rawEval;
    /* Allocate the return variable */
    pMyResult = AU3_AllocVar();
    /* Two parameters were numbers, get the values */
    card1 = AU3_GetInt32(&p_AU3_Params[0]);
    card2 = AU3_GetInt32(&p_AU3_Params[1]);
    card3 = AU3_GetInt32(&p_AU3_Params[2]);
    card4 = AU3_GetInt32(&p_AU3_Params[3]);
    card5 = AU3_GetInt32(&p_AU3_Params[4]);
    card6 = AU3_GetInt32(&p_AU3_Params[5]);
    card7 = AU3_GetInt32(&p_AU3_Params[6]);
    
    
    //rawEval = card1 + card2 + card3 + card4 + card5 + card6 + card7;
    int cards[] = {card1, card2, card3, card4, card5, card6, card7};
    memset(HR, 0, sizeof(HR));
    FILE * fin = fopen("HandRanks.dat", "rb");
    if (!fin)
    return false;
    size_t bytesread = fread(HR, sizeof(HR), 1, fin); // get the HandRank Array
    fclose(fin);
    rawEval = LookupHand(cards);
    AU3_SetInt32(pMyResult, rawEval);
    
    
    /* Pass back the result, error code and extended code.
    * Note: AutoIt is responsible for freeing the memory used in p_AU3_Result
    */
    *p_AU3_Result = pMyResult;
    *n_AU3_ErrorCode = 0;
    *n_AU3_ExtCode = 0;
    
    
    return AU3_PLUGIN_OK;
    }
    Alles anzeigen

    Das dürfte dir weiterhelfen.

  • REG_BINARY Registry-Wert in Text umwandeln.

    • funkey
    • 21. April 2009 um 18:07

    Also bei mir funktioniert BinaryToString mit REG_BINARY-Werten aus der Registry einwandfrei. Bei mir gibt es auch den Ordner '0a0d020000000000c000000000000046'. In diesem Ordner gibt es bei mir auch 2 REG_SZ-Werte. Ich könnte mir vorstellen, dass du diese Werte versuchst mit BinaryToString umzuwandeln. Dabei kommt natürlich Blödsinn heraus.

    Ansonsten weiß ich nicht woran es liegen kann, vllt postest du mal den String bevor er mit BinaryToString umgewandelt wird.

  • Wochentag- Feiertagsermittlung

    • funkey
    • 17. April 2009 um 18:51

    Gefällt mir sehr gut! :thumbup: Was hat es mit den Jahren 1583 und 8201 auf sich?

  • GIF Datei als Bild in GUI animiert anzeigen?

    • funkey
    • 17. April 2009 um 18:48

    Da gibt's hier im Forum haufenweise beispiele dazu einfach mal suchen. Entweder du embeddest ein IE-Fenster zum animieren oder du nimmst die UDF von Progandy. Diese arbeitet mit GDI+ und funktioniert sehr gut.

  • Richtige Netzwerkadapteradresse finden.

    • funkey
    • 17. April 2009 um 18:36

    Schade!
    Also entweder du kannst die 2 IP-Adressen in irgendeinem Bereich eingrenzen, sodass man die richtige IP herausfinden kann oder du holst dir die IP vom Modem, was mehr oder weniger schwierig ist, je nach Fabrikat denke ich mal.

  • Richtige Netzwerkadapteradresse finden.

    • funkey
    • 17. April 2009 um 18:23

    Sorry, hatte was vertauscht. Jetzt geht's.

  • Richtige Netzwerkadapteradresse finden.

    • funkey
    • 17. April 2009 um 18:14

    Damit dürfte es hoffentlich gehen
    _GetNetworkAdapterIPEnabled von Bugfix

  • Was macht "build" im Tools-Menü? Wo ist der Unterschied zu "compile"?

    • funkey
    • 17. April 2009 um 17:48

    Build und Compile machen exakt das gleiche wenn Scite4Autoit nicht installiert ist. Sie kompilieren einfach das Skript.
    Wenn man aber Scite4Autoit installiert hat, dann gibt es einen Unterschied beim Menüpunkt 'Compile'. Dann wird da nämlich die Autoit3Wrapper GUI gestartet und man diverse Einstellungen vor dem Kompilieren vornehmen. Z.B. kann man das Icon auswählen, UPX ein-, ausschalten, die Kompression auswählen, Dateikommentare hinzufügen und vieles mehr. Diese Einstellungen werden dann im Skript gespeichert und bleiben damit erhalten.

  • Controllkilck ?

    • funkey
    • 17. April 2009 um 17:41

    Das?

    [autoit]

    WinActivate

    [/autoit]
  • Controllkilck ?

    • funkey
    • 17. April 2009 um 17:00

    Die ControlID erhälst du mit dem Tool 'AutoIt Window Info'. Du kannst stattdessen aber auch die ClassnameNN verwenden, z.B. 'Button1'.

  • Farbige Ausgabe in der SciTe-Konsole

    • funkey
    • 17. April 2009 um 16:56

    kA wo eine Beschreibung dazu ist ?(

    [autoit]

    ConsoleWrite('! rot' & @LF)
    ConsoleWrite('- gelb' & @LF)
    ConsoleWrite('+ grün' & @LF)
    ConsoleWrite('> blau' & @LF)
    ConsoleWrite(' schwarz' & @LF)

    [/autoit]

    Hab nur mal ein paar Sachen getestet.

    Edit: Hatte 'blau' vergessen.

  • Nutzer mit 0 Beiträgen, bzw. weniger Beteiligung...

    • funkey
    • 15. April 2009 um 19:47

    Ich hab' mal einen Post gemeldet, der war zwar nicht sehr prisant, also die Meldung war schon fast eher Test-halber, aber es gab keine Reaktion darauf. Funktioniert das richtig, peethebee ?

  • Text per Drag&Dop verschieben

    • funkey
    • 12. April 2009 um 10:29

    Das geht mit der AnyGui-UDF ziemlich einfach. Such mal hier im Forum und im englischen Forum, dann findest du funktionierende Beispiele dazu.

  • Aktuelles Volume auch unter Vista abfragen

    • funkey
    • 11. April 2009 um 18:45

    Vllt haben die Fenster ja die gleichen Fensterklassen ? ;)

    Spoiler anzeigen
    [autoit]

    #include <GuiSlider.au3>

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0, 'Lautstärke', _SoundGetMasterVolume())

    [/autoit] [autoit][/autoit] [autoit]

    Func _SoundGetMasterVolume()
    Local $handel, $vol
    Switch @OSVersion
    Case 'WIN_XP'
    Run(@SystemDir & "\SndVol32.exe", "", @SW_HIDE)
    WinWait("[CLASS:Volume Control]")
    $handel = ControlGetHandle("[CLASS:Volume Control]", "", "[CLASS:msctls_trackbar32; INSTANCE:2]")
    $vol = _GUICtrlSlider_GetPos($handel)
    WinClose("[CLASS:Volume Control]")
    Return (500 - $vol)/5
    Case 'WIN_VISTA'
    Run(@SystemDir & "\SndVol.exe", "", @SW_HIDE)
    WinWait("[CLASS:Volume Control]")
    $handel = ControlGetHandle("[CLASS:Volume Control]", "", "[CLASS:msctls_trackbar32; INSTANCE:1]")
    $vol = _GUICtrlSlider_GetPos($handel)
    WinClose("[CLASS:Volume Control]")
    Return $vol
    EndSwitch
    EndFunc

    [/autoit]
  • Aktuelles Volume auch unter Vista abfragen

    • funkey
    • 11. April 2009 um 18:31

    Ja stimmt progandy, ich hatte nicht geschaut welchen Wert ich bekommen hatte, sondern nur, dass ich einen Wert bekommen habe. Aber bei mir heißt es nicht Summe sondern Lautstärkeregelung

    Man kann doch mittels @OSVersion zwischen den Windows-Versionen differenzieren.

  • Aktuelles Volume auch unter Vista abfragen

    • funkey
    • 11. April 2009 um 18:22
    XP
    [autoit]

    #include <GuiSlider.au3>
    Run(@SystemDir & "\SndVol32.exe", "", @SW_HIDE)
    WinWait("Lautstärkeregelung")
    $handel = ControlGetHandle("Lautstärkeregelung", "", "[CLASS:msctls_trackbar32; INSTANCE:1]")
    $Pos = _GUICtrlSlider_GetPos($handel)
    WinClose("Lautstärkeregelung")
    MsgBox(0, "Lautstärke", $Pos)

    [/autoit]
  • Aktuelles Volume auch unter Vista abfragen

    • funkey
    • 11. April 2009 um 18:18

    Zu 2.

    Spoiler anzeigen
    [autoit]

    #include <GuiSlider.au3>
    Run(@SystemDir & "\SndVol.exe", "", @SW_HIDE)
    WinWait("Lautstärkemixer")
    $handel = ControlGetHandle("Lautstärkemixer", "", "[CLASS:msctls_trackbar32; INSTANCE:1]")
    $Pos = _GUICtrlSlider_GetPos($handel)
    WinClose("Lautstärkemixer")
    MsgBox(0, "Lautstärke", $Pos)

    [/autoit]


    Zu 1. Es gibt da doch sicher eine Checkbox, die man auslesen kann!?

  • Aktuelles Volume auch unter Vista abfragen

    • funkey
    • 11. April 2009 um 18:09

    ?(
    Du liest das Handle doch schon vor dem WinWait aus! Wie soll das gehen?

  • Aktuelles Volume auch unter Vista abfragen

    • funkey
    • 11. April 2009 um 18:05

    Vllt brauchst du ein WinWait nach dem Run?

  • Bilder

    • funkey
    • 11. April 2009 um 17:53

    Meinst du eine Toolbar?

    [autoit]

    _GUICtrlToolbar_Create

    [/autoit]


    Oder eine Rebar?

    [autoit]

    _GUICtrlReBar_Create

    [/autoit]

    Schau dir das mal an.

    Edit: Viel zu spät :(

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™