Page 2 of 3

Re: Need Help giide for my program

Posted: Sat Jul 20, 2024 9:48 am
by Enrico Maria Giordano
Enrico wrote:I use it every day but the answers are always useless. I hope it will improve in the future.
Otto wrote:Please take a look at the answer.
I can't say more: I always get useless responses.

Re: Need Help giide for my program

Posted: Sat Jul 20, 2024 1:35 pm
by Jimmy
hi,
Enrico Maria Giordano wrote:I use it every day but the answers are always useless.
i won´t say that Answer from ChatGPT is useless.

it is true that ChatGPT can´t do your JOB and write full working CODE for You.
but ChatGPT can give You a Idea what to do.

Re: Need Help giide for my program

Posted: Sat Jul 20, 2024 1:57 pm
by Enrico Maria Giordano
Jimmy wrote:hi,
Enrico Maria Giordano wrote:I use it every day but the answers are always useless.
i won´t say that Answer from ChatGPT is useless.

it is true that ChatGPT can´t do your JOB and write full working CODE for You.
but ChatGPT can give You a Idea what to do.
I never ask AI to do my work. I only ask it some little questions about various problems I face and the responses are unavoidably almost useless.

Re: Need Help giide for my program

Posted: Sat Jul 20, 2024 2:50 pm
by Rick Lipkin
To All

I think of AI as the HAL voice on 2001 a Space Odyssey .. "Open the Pod bay Doors HAL" ...... "Sorry Dave, I can't do that" ...... the experiences of life is the best teacher and Wisdom is learned and not an answer rolled up in AI... Sorry if my answer seems ugly ..

Rick Lipkin

Re: Need Help giide for my program

Posted: Sat Jul 20, 2024 2:55 pm
by Enrico Maria Giordano
Rick,

the AI answer is exclusively based on the data found on the search engines, there is no reasoning in there, only a dumb report with a decent grammatical form, nothing more. At least at this time. We will see (and hope!) in the future.

Re: Need Help giide for my program

Posted: Sat Jul 20, 2024 3:57 pm
by Enrico Maria Giordano
To be honest, I just receive an useful answer! :-)
What is the classname of thunderbird.exe?

The classname for the main window of Thunderbird is typically "MozillaWindowClass".

Re: Need Help giide for my program

Posted: Sat Jul 20, 2024 4:32 pm
by Otto
Dear Enrico,
Prompt engineering is crucial. The better you post your question the better the answer.
I made a Prompt Editor for creating my PROMPTS.
Best regards,
Otto

Image


Look at the answer I got:

Image
Image


Your answer:



Image

Re: Need Help giide for my program

Posted: Sat Jul 20, 2024 4:40 pm
by Otto
... and if you want source example for HARBOUR

Image
Image

Re: Need Help giide for my program

Posted: Sat Jul 20, 2024 4:58 pm
by Otto
... and here the running app




Image

Re: Need Help giide for my program

Posted: Sat Jul 20, 2024 5:49 pm
by Enrico Maria Giordano
Otto,

I just resumed the answer deleting useless things like the pseudocode. Unfortunately, the answer is not what I was looking for. The class "MozillaWindowClass" is only for the main Thunderbird window. I need the one for the compose dialog... :-(

Re: Need Help giide for my program

Posted: Sat Jul 20, 2024 7:50 pm
by Antonio Linares
Dear Enrico,

> I need the one for the compose dialog...

Can you please explain what you need ? thanks

Re: Need Help giide for my program

Posted: Sat Jul 20, 2024 7:52 pm
by Enrico Maria Giordano

Code: Select all | Expand

? FINDWINDOW( "the compose dialog of Thunderbird classname" )

Re: Need Help giide for my program

Posted: Sat Jul 20, 2024 8:11 pm
by Antonio Linares
Is it the title of the dialog ?

Do you get a valid handle ?

Re: Need Help giide for my program

Posted: Sat Jul 20, 2024 8:56 pm
by Enrico Maria Giordano
No, it is not:

Code: Select all | Expand

FINDWINDOW( "classname", "window title" )
Anyway, never mind, I already solved using the window title.

Re: Need Help giide for my program

Posted: Sat Jul 20, 2024 10:22 pm
by Otto
Enrico, does this work?

Code: Select all | Expand


#include "FiveWin.ch"

// Define necessary constants
#define GW_CHILD       5
#define GW_HWNDNEXT    2

FUNCTION Main()
    LOCAL aWindows := {}
    LOCAL cName := ""
    LOCAL hwnd := GetWindow( GetDesktopWindow(), GW_CHILD )
    LOCAL cClassName := Space( 256 )
    LOCAL cClassNameMain := "MozillaWindowClass"  // Class name for the main Thunderbird window
    LOCAL hwndMain, hwndChild, cClassNameChild

    // Iterate through all windows to find the main Thunderbird window
    WHILE hwnd != 0
        cName := GetClassName( hwnd, @cClassName, Len( cClassName ) )
        IF Len( cName ) > 0
            cName := Left( cName, Len( cName ) )
            IF cName == cClassNameMain
                // Now iterate through child windows of the main Thunderbird window
                hwndChild := GetWindow( hwnd, GW_CHILD )
                cClassNameChild := Space( 256 )
                WHILE hwndChild != 0
                    cName := GetClassName( hwndChild, @cClassNameChild, Len( cClassNameChild ) )
                    IF Len( cName ) > 0
                        cName := Left( cName, Len( cName ) )
                        IF cName == "MozillaCompositorWindowClass"
                            AADD( aWindows, { hwndChild, cName } )
                        ENDIF
                    ENDIF
                    hwndChild := GetWindow( hwndChild, GW_HWNDNEXT )
                ENDDO
            ENDIF
        ENDIF
        hwnd := GetWindow( hwnd, GW_HWNDNEXT )
    ENDDO

    // Display the results
    xbrowse(aWindows)

    RETURN NIL