Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
AutoSave
Message
 
À
21/10/2003 05:24:46
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Titre:
Divers
Thread ID:
00839641
Message ID:
00840606
Vues:
23
>>try put KEYBOARD "{ctrl+s}" in timer.
>Thanks. It´s OK.

>I only need :
>- How to Save without confirm
>- How to Save without compile/check sintax
>
>Regards,
>José Luis.

I know no way of avoiding the confirmation dialogs/Ignore All Message boxes on save, however nothing says that you can't programmatically close those boxes.

Now, the trouble becomes that all VFP code stops executing when the VFP system messageboxes are open....

Here's an Idea: It's possible through Win32 API functions to identify any window in Windows and send it messages (like "clicking" its buttons), and I've done this in the past for closing annoying messageboxes:
Tek-Tips.com faq184-2677
Essentially:
  wndButton = FindWindowEx( wndDialog, 0, 'Button', ;
                                 pcButtonCaption )      
       if wndButton > 0
         SendMessage(wndButton, WM_LBUTTONDOWN, 1, 0x00120025 )
         SendMessage(wndButton, WM_LBUTTONUP,   0, 0x00120025 )
         * Button Clicked message
         SendMessage(wndDialog, WM_COMMAND,     3, wndButton  )
So, you could have a second Win32 process that continues executing monitoring the VFP IDE session, and send it the Ctrl+S save command, then watch for the windows to appear and auto-answer them.

This could, literally, be a second application, or, perhaps, you could create an MT DLL in VFP, and instantiate an object in it, which object contains a timer. I haven't tested this, but I'd guess that the MTDLL MAY be able to execute timer code while a modal messagebox is open in its host application.

As for finding the dialog window handle, since it's owned by the VFP window, a simple FindWindowEx isn't enough... see http://fox.wikis.com/wc.dll?Wiki~FreeWindow for code on how to locate a window HWND inside VFP.
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform