FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 13:26

» Compilateur FBPano
par Ouf_ca_passe Aujourd'hui à 12:25

» mise a jour calculatrice
par papydall Aujourd'hui à 2:01

» double guillemets "" dans un EDIT
par Marc Hier à 23:43

» Documentation de KGF
par Klaus Lun 20 Nov 2017 - 22:52

» Zoom sur une portion d'écran
par JL35 Lun 20 Nov 2017 - 21:51

» Recherche d'une expression dans un source
par Marc Lun 20 Nov 2017 - 13:08

» Tracer une grille n'importe où sur l'écran
par JL35 Dim 19 Nov 2017 - 22:14

» TourD Version 2
par Klaus Sam 18 Nov 2017 - 23:58

» La métamatière et le peuple
par JL35 Ven 17 Nov 2017 - 21:18

» Capture d'une zone de l'écran total
par JL35 Ven 17 Nov 2017 - 18:41

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 17 Nov 2017 - 11:49

» qui peut résoudre mon prb
par pascal10000 Jeu 16 Nov 2017 - 17:30

» évènements et objets système : listage automatique
par Jean Claude Jeu 16 Nov 2017 - 11:15

» Panoramic et la reconnaissance vocale.
par papydall Jeu 16 Nov 2017 - 3:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2017
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
27282930   
CalendrierCalendrier

Partagez | 
 

 Fonctions d'envoyer de touches à un objet interne ou externe

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2, 3, 4, 5, 6  Suivant
AuteurMessage
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 9 Sep 2012 - 14:37



sniff... et la dll reste active
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 9 Sep 2012 - 14:38

@ Klaus,

Pourrais tu remettre le code du source avec toutes tes modifs, je en sais plus lequel est le bon... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10128
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Fonctions d'envoyer de touches à un objet interne ou externe   Dim 9 Sep 2012 - 14:43

Tu n'as certainement pas la dernière version de la DLL. Cela doit être:
Citation :
V1.54 08/09/2012 ajout fonctions d'envoi decaractères à un objet
GetActiveWindow, GetActiveWindowTitle, SendStringAsText

La fonction qui pose problème est GetActiveWindowTitle qui fait partie de la nouvelle version.

Voici le source à jour:
Code:
' connexion_MyDrive.bas

label MyDrive, choix, close0
dim s$, res%, hnd%, hnd0%, titre$

dll_on "KGF.dll"

width 0,440 : height 0,280 : on_close 0,close0

list 1 : height 1,200 : width 1,400
  on_click 1,choix
  item_add 1,"panoramic@cosmos70"
  item_add 1,"panoramic@klausgunther"

button 2 : top 2,210 : left 2,10
  caption 2,"MyDrive" : on_click 2,MyDrive
 
 
 
hnd0% = handle(0)

end

close0:
  dll_off
  return

MyDrive:
  hide 0
  Execute "http://www.mydrive.ch/login"
  repeat
    pause 1000
    titre$ = string$(255," ")
    hnd% = dll_call1("GetActiveWindowTitle",adr(titre$))
    titre$ = trim$(titre$)
  until instr(titre$, "Login |" )>0
  show 0
  return
 
choix:
  hide 0
  pause 1000
  titre$ = string$(255," ")
  hnd% = dll_call1("GetActiveWindowTitle",adr(titre$))
  if instr(titre$, "Login |" )=0
    show 0
    message "Il faut d'abord cliquer sur [MyDrive] !"
    message "Le titre actuel est: ["+titre$+"]"
    return
  end_if
  s$ = item_index$(1)
  hnd% = dll_call0("GetActiveControl")
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  s$ = chr$(9)
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  pause 1000
  s$ = "panoramic123"
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  pause 1000
  s$ = chr$(9)
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  s$ = chr$(13)
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  pause 1000
  show 0
  return
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 9 Sep 2012 - 14:47

je n'arrive plus à savoir ma boite à outils qui doit me donner la version plante aussi... Laughing


Edit : Chrome est une vraie plaie pour les téléchargements sur my drive, j'ai beau effacer
la page des téléchargements il me re télécharge toujours la même version... Rolling Eyes
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10128
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Fonctions d'envoyer de touches à un objet interne ou externe   Dim 9 Sep 2012 - 14:55

Tu fais ceci:
Code:
dim vers$, vers%
vers$ = string$(25," ")
vers% = DLL_call1("KGFdllVersion", adr(vers$) )
message str$(vers%)+" correspond à "+vers$
Extrait de KGF.hlp (à télécharger aussi !)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 9 Sep 2012 - 14:56

Je suis retourné chez my drive avec Firefox et j'ai eu la version 1.53
Apparemment c'est la bonne les fonctions sont là... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 9 Sep 2012 - 15:03

Cà fonctionne !!! C'est génial çà Klaus !!!

Un bon outils pour se connecter sur tout les webdav...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10128
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Fonctions d'envoyer de touches à un objet interne ou externe   Dim 9 Sep 2012 - 15:05

Oups... J'avais mis à jour le commentaire dans l'historique des modifications, mais pas les valeurs dans la fonction qui retourne la version ! C'est corrigé. ceci dit, pour toi cela ne change rien, car sur le plan des fonctionnalités, la version sur MyDrive était à jour. Seule le numéro de version retourné n'était pas bon.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5860
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Fonctions d'envoyer de touches à un objet interne ou externe   Dim 9 Sep 2012 - 15:12

En tout cas Bravo Klaus. Alors,qu'as tu de prévu maintenant dans ta to do list ? un peu de repos ou tu enchaine direct sur un truc ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10128
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Fonctions d'envoyer de touches à un objet interne ou externe   Dim 9 Sep 2012 - 15:15

Je vais reprende les fonctions de chargement, sauvegarde et analyse de fichiers images afin d'harmoniser le tout pour tout type d'images supporté.

Ensuite, je vais ajouter des fonctions de lecture dans le registre de Windows.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5860
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Fonctions d'envoyer de touches à un objet interne ou externe   Dim 9 Sep 2012 - 15:23

Dis pour les fonction d'images, un browser avec aperçu ça te tente comme objet ? c'est un petit défit technique mais pas plus compliquer, je pense que tes listes synchro avec l'usage de la DLL pour avoir l'aperçu à la bonne taille ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10128
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Fonctions d'envoyer de touches à un objet interne ou externe   Dim 9 Sep 2012 - 15:34

A voir. Peut-être ultérieurement.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: Fonctions d'envoyer de touches à un objet interne ou externe   Dim 9 Sep 2012 - 15:39

Puisque je quitte cette partie pour reprendre plus tard ce que je dois faire, je repris le programme, avec les noms que j'ai retrouvé (j'ai cherché hier soir). Pour les autres je ne connais pas.
Code:

' connexion_MyDrive.bas

label MyDrive, choix,quit
dim s$, res%, hnd%, hnd0%, titre$

dll_on "E:\COURS_Pano\DLLs\KGF.dll"

width 0,440 : height 0,280

list 1 : height 1,200 : width 1,400
  on_click 1,choix
dlist 3
  item_add 1,"panoramic@cosmos70"
  item_add 3,"panoramic123"
 
  item_add 1,"panoramic@klausgunther"
  item_add 3,"panoramic123"
 
  item_add 1,"panoramic@papydall"
  item_add 3,"panoramic123"
 
  item_add 1,"panoramic@bignono"
  item_add 3,"panoramic123"
 
  item_add 1,"panoramic@jicehel"
  item_add 3,"panoramic123"
 
  item_add 1,"panoramic@ygeronimi"
  item_add 3,"panoramic123"
 
  item_add 1,"panoramic@nardo26"
  item_add 3,"panoramic123"


button 2 : top 2,210 : left 2,10
  caption 2,"MyDrive" : on_click 2,MyDrive


on_close 0,quit
hnd0% = handle(0)

end

MyDrive:
  hide 0
  Execute "http://www.mydrive.ch/login"
  repeat
    pause 1000
    titre$ = string$(255," ")
    hnd% = dll_call1("GetActiveWindowTitle",adr(titre$))
    titre$ = trim$(titre$)
  until instr(titre$, "Login | " ) > 0
  show 0
  clipboard_string_copy titre$
  return
  if left$(titre$,8) <> "Login | "
    show 0
    message "Il faut d'abord cliquer sur [MyDrive] !"
    message "Le titre actuel est: ["+titre$+"]"
    return
  end_if
  to_foreground 0
choix:

  hide 0
  pause 1000
  titre$ = string$(255," ")
  hnd% = dll_call1("GetActiveWindowTitle",adr(titre$))

  s$ = item_index$(1)
  hnd% = dll_call0("GetActiveControl")
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  s$ = chr$(9)
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  pause 500
  s$ = item_read$(3, item_index(1))
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  pause 500
  s$ = chr$(9)
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  s$ = chr$(13)
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  pause 500
  to_background 0
  return
  quit:
  dll_off
  terminate
Le mot de passe est individuel pour pouvoir être modifié.
Revenir en haut Aller en bas
Klaus

avatar

Nombre de messages : 10128
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Fonctions d'envoyer de touches à un objet interne ou externe   Dim 9 Sep 2012 - 15:50

Merci pour cette version plus aboutie. Elle a néanmoins un petit problème entre les lignes 56 et 64.

J'ai intégré tes modifs dans ma version qui marche avec tous les browsers, et la voilà:
Code:
' connexion_MyDrive.bas

label MyDrive, choix, close0
dim s$, res%, hnd%, hnd0%, titre$

dll_on "KGF.dll"

width 0,440 : height 0,280 : on_close 0,close0

list 1 : height 1,200 : width 1,400
  on_click 1,choix
dlist 3
  item_add 1,"panoramic@cosmos70"
  item_add 3,"panoramic123"

  item_add 1,"panoramic@klausgunther"
  item_add 3,"panoramic123"

  item_add 1,"panoramic@papydall"
  item_add 3,"panoramic123"

  item_add 1,"panoramic@bignono"
  item_add 3,"panoramic123"

  item_add 1,"panoramic@jicehel"
  item_add 3,"panoramic123"

  item_add 1,"panoramic@ygeronimi"
  item_add 3,"panoramic123"

  item_add 1,"panoramic@nardo26"
  item_add 3,"panoramic123"

button 2 : top 2,210 : left 2,10
  caption 2,"MyDrive" : on_click 2,MyDrive
 
 
 
hnd0% = handle(0)

end

close0:
  dll_off
  return

MyDrive:
  hide 0
  Execute "http://www.mydrive.ch/login"
  repeat
    pause 1000
    titre$ = string$(255," ")
    hnd% = dll_call1("GetActiveWindowTitle",adr(titre$))
    titre$ = trim$(titre$)
  until instr(titre$, "Login |" )>0
  show 0
  return
 
choix:
  hide 0
  pause 1000
  titre$ = string$(255," ")
  hnd% = dll_call1("GetActiveWindowTitle",adr(titre$))
  if instr(titre$, "Login |" )=0
    show 0
    message "Il faut d'abord cliquer sur [MyDrive] !"
    message "Le titre actuel est: ["+titre$+"]"
    return
  end_if
  s$ = item_index$(1)
  hnd% = dll_call0("GetActiveControl")
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  s$ = chr$(9)
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  pause 500
  s$ = item_read$(3, item_index(1))
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  pause 1000
  s$ = chr$(9)
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  s$ = chr$(13)
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  pause 1000
  show 0
  return
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: Fonctions d'envoyer de touches à un objet interne ou externe   Dim 9 Sep 2012 - 16:00

Oui bizarre. J'ai du faire un <CTRL z> de trop, lorsque remis le nom de la dll. Chez moi, je le mets en dur vu que j'ai des programmes qui travaille dans tous les sens, et différentes clés USB.

EDIT, je viens de faire une page arrière, il y a eu une vraie discution depuis midi.
Revenir en haut Aller en bas
bignono

avatar

Nombre de messages : 1098
Age : 60
Localisation : Val de Marne
Date d'inscription : 13/11/2011

MessageSujet: Re: Fonctions d'envoyer de touches à un objet interne ou externe   Dim 9 Sep 2012 - 18:39

A l'aide Klaus,
Je me bat depuis ce matin avec ton programme pour lancer automatiquement le site Turbosquid, puis le login et le mot de passe. J'arrive jusqu'à la page du Login, mais plus rien après. Sans te déranger, peux-tu voir avec ta dll comment faire. Je dois mal m'y prendre.
Merci, A+ Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10128
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Fonctions d'envoyer de touches à un objet interne ou externe   Dim 9 Sep 2012 - 19:01

Je suis en train de voir ça...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

Nombre de messages : 10128
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Fonctions d'envoyer de touches à un objet interne ou externe   Dim 9 Sep 2012 - 19:29

Voilà, c'est fait.

La difficulté, c'est au moment du login, par Javascript, la page web affiche un cadre par-dessus la page web, et ce cadre n'est pas accessible simplement par des TAB. Il faut cliquer dedans pour l'activer, puis on peut utiliser les TAB. Le clic est fait par simulation via la DLL aussi, en en profitant du fait que le cadre de login est centré sur l'écran (utilise le browser en fenêtre maximisé, pour cela). Voici ce que ça donne: (j'ai mis n'importe quoi en identifiant et mot de passe, bien sûr):
Code:
' connexion_MyDrive.bas

label MyDrive, choix, close0, TurboSquid
dim s$, res%, hnd%, hnd0%, titre$, x%, y%

dll_on "KGF.dll"

width 0,440 : height 0,280 : on_close 0,close0

list 1 : height 1,200 : width 1,400
  on_click 1,choix
dlist 3 : ' mots de passe
  item_add 1,"panoramic@cosmos70"
  item_add 3,"panoramic123"

  item_add 1,"panoramic@klausgunther"
  item_add 3,"panoramic123"

  item_add 1,"panoramic@papydall"
  item_add 3,"panoramic123"

  item_add 1,"panoramic@bignono"
  item_add 3,"panoramic123"

  item_add 1,"panoramic@jicehel"
  item_add 3,"panoramic123"

  item_add 1,"panoramic@ygeronimi"
  item_add 3,"panoramic123"

  item_add 1,"panoramic@nardo26"
  item_add 3,"panoramic123"
 
  item_add 1,"turbosquid1"
  item_add 3,"turbosquid123"


button 2 : top 2,210 : left 2,10
  caption 2,"MyDrive" : on_click 2,MyDrive
 
button 4 : top 4,210 : left 4,110
  caption 4,"TurboSquid" : on_click 4,TurboSquid

 
 
hnd0% = handle(0)

end

close0:
  dll_off
  return

MyDrive:
  hide 0
  Execute "http://www.mydrive.ch/login"
  repeat
    pause 1000
    titre$ = string$(255," ")
    hnd% = dll_call1("GetActiveWindowTitle",adr(titre$))
    titre$ = trim$(titre$)
  until instr(titre$, "Login |" )>0
  show 0
  return

TurboSquid:
  hide 0
  Execute "http://www.turbosquid.com/"
  repeat
    pause 1000
    titre$ = string$(255," ")
    hnd% = dll_call1("GetActiveWindowTitle",adr(titre$))
    titre$ = trim$(titre$)
  until instr(titre$, "at TurboSquid" )>0
  show 0
  return

choix:
  hide 0
  pause 1000
  titre$ = string$(255," ")
  hnd% = dll_call1("GetActiveWindowTitle",adr(titre$))
 
  if instr(titre$, "Login |" )>0
    s$ = item_index$(1)
    hnd% = dll_call0("GetActiveControl")
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    s$ = chr$(9)
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    pause 500
    s$ = item_read$(3, item_index(1))
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    pause 1000
    s$ = chr$(9)
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    s$ = chr$(13)
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    pause 1000
    show 0
    return
  end_if
 
  if instr(titre$, "at TurboSquid" )>0
    s$ = chr$(9)
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    s$ = chr$(13)
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    pause 1000
    x% = screen_x/2
    y% = screen_y/3
    res% = dll_call2("AbsoluteMouseLeftClick",x%,y%)
    pause 500
    s$ = chr$(9)
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    pause 1000
    s$ = item_index$(1)    : ' identifiant
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    pause 1000
    s$ = chr$(9)
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    s$ = item_read$(3, item_index(1))  : ' mot de passe
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    s$ = chr$(9)
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    s$ = chr$(13)
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    show 0
    return
  end_if
 
  show 0
  message "Il faut d'abord cliquer sur [MyDrive]  ou [TurboSquid] !"
  message "Le titre actuel est: ["+titre$+"]"
  return
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
bignono

avatar

Nombre de messages : 1098
Age : 60
Localisation : Val de Marne
Date d'inscription : 13/11/2011

MessageSujet: Re: Fonctions d'envoyer de touches à un objet interne ou externe   Dim 9 Sep 2012 - 20:32

Je te remercie de ta sollicitude Klaus, mais ça ne fonctionne pas chez moi
[img][/img]
Ça ouvre bien turbosquid au début, puis après la page de Login, il aiguille sur google!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
bignono

avatar

Nombre de messages : 1098
Age : 60
Localisation : Val de Marne
Date d'inscription : 13/11/2011

MessageSujet: Re: Fonctions d'envoyer de touches à un objet interne ou externe   Dim 9 Sep 2012 - 21:00

finalement,j'y suis attivé avec ce programme:
Code:
' connexion_Turbosquid.bas
' Fonctionne avec la version 1.54 de KGF.dll
label fin
dim a,s$, res%, hnd%, hnd0%, titre$,x%,y%
width 0,270:height 0,150:top 0,(screen_y-width(0))/2:left 0,(screen_x-height(0))/2
font_bold 0:caption 0,"Lanceur Turbosquid"
alpha 1:left 1,20:top 1,25:caption 1,"Lancement de Turbosquid en mode:"
button 2:left 2,20:top 2,50:width 2,100:caption 2,"NORMAL ?"
button 3:left 3,130:top 3,50:width 3,100:caption 3,"LOGIN / MDP ?"
while a=0
  if clicked(2)=1 then a=1:execute "http://www.turbosquid.com/"
  if clicked(3)=1 then a=2
end_while
if a=1 then goto fin
dll_on "c:\mesprog\KGF154.dll"
hnd0%=handle(0)
s$=chr$(9)
hide 0
  Execute "https://www.turbosquid.com/Login"

  repeat
    pause 3000
    titre$ = string$(255," ")
    hnd% = dll_call1("GetActiveWindowTitle",adr(titre$))
    titre$ = trim$(titre$)
  until left$(titre$,30) = "TurboSquid -- New Member Login"

  pause 1000
  titre$ = string$(255," ")
  hnd% = dll_call1("GetActiveWindowTitle",adr(titre$))
show 0
    titre$=rtrim$(titre$)
    message "lancement de Turbosquid"
hide 0
  hnd% = dll_call0("GetActiveControl")
    pause 1000
    x% = screen_x/2
    y% = screen_y/3
    res% = dll_call2("AbsoluteMouseLeftClick",x%,y%)
    pause 500
  s$ = "NAUNAU": ' <== mettre son login
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  pause 1000
  s$ = chr$(9)
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  pause 1000
  s$="mot_de_passe": ' <== mettre son mot de passe
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  pause 1000
  s$ = chr$(9)
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  s$ = chr$(13)
  res% = dll_call2("SendStringAsText",hnd%,adr(s$))
  pause 1000
show 0
  dll_off
fin:
  terminate
Mais le problème, au momment où Internet s'ouvre, je suis obligé de vite cliquer dans l'icone rectangle à coté de la croix de fermeture pour maximiser la fenêtre.
N'y aurait-il pas moyen justement de commander l'ouverture maximale de la fenêtre dans KGF.dll?
edit: Je vais au Miam en attendant!!!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Fonctions d'envoyer de touches à un objet interne ou externe   Dim 9 Sep 2012 - 22:35

Je viens de mettre sur mon Webdaw, je ne sais plus si cela s'appelle comme cela, un programme fourni avec AutoIt, qui permet de connaitre le handle, le type 'objet, la position de la souris, etc... pour justement faire les réglages.

Vu que j'entend toujours dire que AutoIt est gratuid, et libre de droit, il ne devrait pas y avoir de problème.
ça s'appel: Au3Info.exe.
Il faut cliquer sur la cible, et la placer à l'endroit que vous voulez avoir les infos.
Le programme Pagiciel, n'est pas a télécharger, c'était juste pour voir le fonctionnement avec MyDrive.
Revenir en haut Aller en bas
Klaus

avatar

Nombre de messages : 10128
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Fonctions d'envoyer de touches à un objet interne ou externe   Dim 9 Sep 2012 - 23:06

@Bignono:
Qu'est-ce que tu utilises comme browser ? Les miens s'ouvrent toujours avec la taille de fenêtre avec laquelle ils ont été fermés. Et non seulement cela: s'ils ne sont pas maximisés, il s'ouvrent à la position où ils étaient lors de leur fermeture. As-tu essayé cela ? Maximiser le browser, le fermer, puis lancer le programme ?

Sinon, indépendamment de cela, je vais ajouter la possibilité de tenir compte du rectangle effectivement occupé par la fenêtre ciblée, et je pense résoudre ce problème de cette manière.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
bignono

avatar

Nombre de messages : 1098
Age : 60
Localisation : Val de Marne
Date d'inscription : 13/11/2011

MessageSujet: Re: Fonctions d'envoyer de touches à un objet interne ou externe   Dim 9 Sep 2012 - 23:32

Sinon Klaus, j'ai essayé de simuler un clic de souris justement dans le rectangle en haut à droite qui maximise la fenêtre en faisant:
Code:
    x% = screen_x-65
    y% = 10
    res% = dll_call2("AbsoluteMouseLeftClick",x%,y%)
Mais le problème, c'est qu'il a pris la dimension de l'écran et non de la fenêtre. Ce qu'il faudrait c'est récupérer les dimensions en largeur de la fenêtre et on peut simuler un clic pour maximiser la fenêtre.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10128
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Fonctions d'envoyer de touches à un objet interne ou externe   Dim 9 Sep 2012 - 23:51

J'ai résolu le problème. A la fois celui d'une fenêtre de taille variable et celui que tu viens de décrire.

J'ai ajouté une nouvelle fonction à KGF.dll, dans la rubrique de la gestion des fenêtres:
Code:
res% = DLL_call5("GetFormMetrics",hnd%,adr(gauche%),adr(haut%),adr(largeur%),adr(hauteur%))

La dll passe à la version V1.55. La doc est à jour.

Tu vois ce que la fonction fait: tu lui passes le handle d'une form, et elle retourne à travers les 4 derniers paramètres (passés par ADR() !) la position de la fenêtre ainsi que sa largeur et hauteurn le tout en pixels et mesurés en coordonnées absolues de l'écran.

Partant de là, tu peux utiliser gauche%+largeur%+(décalage à déterminer) comme position horizontale du clic dans la case qui t'intéresse.

J'ai intégré cette fonction dans mon programme, qui chez moi tente de se connecter à TurboSquid sans problème:
Code:
' connexion_MyDrive.bas

label MyDrive, choix, close0, TurboSquid
dim s$, res%, hnd%, hnd0%, titre$, x%, y%
dim tp%,lft%,wdt%,hgt%

dll_on "KGF.dll"

width 0,440 : height 0,280 : on_close 0,close0

list 1 : height 1,200 : width 1,400
  on_click 1,choix
dlist 3 : ' mots de passe
  item_add 1,"panoramic@cosmos70"
  item_add 3,"panoramic123"

  item_add 1,"panoramic@klausgunther"
  item_add 3,"panoramic123"

  item_add 1,"panoramic@papydall"
  item_add 3,"panoramic123"

  item_add 1,"panoramic@bignono"
  item_add 3,"panoramic123"

  item_add 1,"panoramic@jicehel"
  item_add 3,"panoramic123"

  item_add 1,"panoramic@ygeronimi"
  item_add 3,"panoramic123"

  item_add 1,"panoramic@nardo26"
  item_add 3,"panoramic123"
 
  item_add 1,"turbosquid1"
  item_add 3,"turbosquid123"


button 2 : top 2,210 : left 2,10
  caption 2,"MyDrive" : on_click 2,MyDrive
 
button 4 : top 4,210 : left 4,110
  caption 4,"TurboSquid" : on_click 4,TurboSquid

 
 
hnd0% = handle(0)

end

close0:
  dll_off
  return

MyDrive:
  hide 0
  Execute "http://www.mydrive.ch/login"
  repeat
    pause 1000
    titre$ = string$(255," ")
    hnd% = dll_call1("GetActiveWindowTitle",adr(titre$))
    titre$ = trim$(titre$)
  until instr(titre$, "Login |" )>0
  show 0
  return

TurboSquid:
  hide 0
  Execute "http://www.turbosquid.com/"
  repeat
    pause 1000
    titre$ = string$(255," ")
    hnd% = dll_call1("GetActiveWindowTitle",adr(titre$))
    titre$ = trim$(titre$)
  until instr(titre$, "at TurboSquid" )>0
  show 0
  return

choix:
  hide 0
  pause 1000
  titre$ = string$(255," ")
  hnd% = dll_call1("GetActiveWindowTitle",adr(titre$))
 
  if instr(titre$, "Login |" )>0
    s$ = item_index$(1)
    hnd% = dll_call0("GetActiveControl")
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    s$ = chr$(9)
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    pause 500
    s$ = item_read$(3, item_index(1))
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    pause 1000
    s$ = chr$(9)
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    s$ = chr$(13)
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    pause 1000
    show 0
    return
  end_if
 
  if instr(titre$, "at TurboSquid" )>0
    s$ = chr$(9)
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    s$ = chr$(13)
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    pause 1000
    res% = dll_call5("GetFormMetrics",hnd%,adr(lft%),adr(tp%),adr(wdt%),adr(hgt%))
    x% = lft% + wdt%/2
    y% = tp% + hgt%/3
    res% = dll_call2("AbsoluteMouseLeftClick",x%,y%)
    pause 500
    s$ = chr$(9)
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    pause 1000
    s$ = item_index$(1)    : ' identifiant
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    pause 1000
    s$ = chr$(9)
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    s$ = item_read$(3, item_index(1))  : ' mot de passe
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    s$ = chr$(9)
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    s$ = chr$(13)
    res% = dll_call2("SendStringAsText",hnd%,adr(s$))
    pause 500
    show 0
    return
  end_if
 
  show 0
  message "Il faut d'abord cliquer sur [MyDrive]  ou [TurboSquid] !"
  message "Le titre actuel est: ["+titre$+"]"
  return

Je m'éclate avec Delphi et les DLLs !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5860
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Fonctions d'envoyer de touches à un objet interne ou externe   Lun 10 Sep 2012 - 0:41

Géant ... tu sais qu'avec ça on peut faire de sacrés programmes de scripting ... juste géant ...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Fonctions d'envoyer de touches à un objet interne ou externe   

Revenir en haut Aller en bas
 
Fonctions d'envoyer de touches à un objet interne ou externe
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 3 sur 6Aller à la page : Précédent  1, 2, 3, 4, 5, 6  Suivant
 Sujets similaires
-
» Passer un objet devant les autres (ou derrière)
» Comment envoyer une détection chez avira avec Antivir 9 français - Version Classic
» Récupérer toutes les touches tapées
» Opération sur objet EDIT
» Piano à 88 touches

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: