Jump to content

Auto3Lib


PaulIA
 Share

Recommended Posts

$hwnd= ControlGethandle("Rechercher un dossier", "Ajout d'un nouveau port PDF","SysTreeView321")
$hnode = _TreeView_GetFirstNode($hwnd)
Msgbox(0,"",_TreeView_Select($hWnd, $hNode))
Msgbox(0,"", _TreeView_GetText($hWnd, $hNode) )
;msgbox(0,"",_ListBox_FindInText($hWnd, "Adobe PDF Port" ) ) <===== this is this instruction that cause trouble on Windows 2000

You're getting the handle of a TreeView control and then trying to use it in a ListBox function.

Auto3Lib: A library of over 1200 functions for AutoIt
Link to comment
Share on other sites

$hwnd= ControlGethandle("Rechercher un dossier", "Ajout d'un nouveau port PDF","SysTreeView321")
$hnode = _TreeView_GetFirstNode($hwnd)
Msgbox(0,"",_TreeView_Select($hWnd, $hNode))
Msgbox(0,"", _TreeView_GetText($hWnd, $hNode) )
;msgbox(0,"",_ListBox_FindInText($hWnd, "Adobe PDF Port" ) ) <===== this is this instruction that cause trouble on Windows 2000

You're getting the handle of a TreeView control and then trying to use it in a ListBox function.

Hi paul,

I am sorry i make a mistake

The instruction wich cars autolib is that one

$htree = ControlGethandle("Rechercher un dossier", "","SysTreeView321")

$hnode= _TreeView_FindNode($htree, "FILES") <____________

and the control (seeing my picture in first reply in a SysTreeView control

Can you see that please ?

Link to comment
Share on other sites

Hi paul,

I am sorry i make a mistake

The instruction wich cars autolib is that one

$htree = ControlGethandle("Rechercher un dossier", "","SysTreeView321")

$hnode= _TreeView_FindNode($htree, "FILES") <____________

and the control (seeing my picture in first reply in a SysTreeView control

Can you see that please ?

You're killing me. :) Your original example doesn't use _TreeView_FindNode at all.

Anyway, I spent the morning trying to figure out what you were trying to do and I think I see your problem. The TreeView that you're trying to access is part of a Dialog window (class name #32770) and according to this MSDN link, that's a class that is only available for system use. That's why you get the "access denied" error when you try to access the TreeView control inside the dialog. According to MS, you'd have to have the system debug privilege in order to use OpenProcess on the dialog. I've seen an article on how to do this, but it's a fairly intense piece of code. I'll take a look at this for a future release, but unless more people run onto this issue, it's not an immediate priority right now.

Auto3Lib: A library of over 1200 functions for AutoIt
Link to comment
Share on other sites

You're killing me. :) Your original example doesn't use _TreeView_FindNode at all.

Anyway, I spent the morning trying to figure out what you were trying to do and I think I see your problem. The TreeView that you're trying to access is part of a Dialog window (class name #32770) and according to this MSDN link, that's a class that is only available for system use. That's why you get the "access denied" error when you try to access the TreeView control inside the dialog. According to MS, you'd have to have the system debug privilege in order to use OpenProcess on the dialog. I've seen an article on how to do this, but it's a fairly intense piece of code. I'll take a look at this for a future release, but unless more people run onto this issue, it's not an immediate priority right now.

Thanks for your explain, I will try to do from another way.

For explanation what i want to do is to change le location wher the adoePDF redirected port creat the pdf files issue from an office document.

What i want to research is how can i modify a redirected port whith WMI may be i arrive.

Thanks.

Link to comment
Share on other sites

do I understand correctly that the version 3 of autolib3 still needs autoit-beta to run?

would it be very difficult to provide an additional version of autolib3 for the "normal" autoit?

have a good day everybody

You need the latest version in order to run. It would be too much work to keep separate versions of the code.
Auto3Lib: A library of over 1200 functions for AutoIt
Link to comment
Share on other sites

This release contains a module for dealing with pipes. I had written a CreatePipe function for one of the forum members in the last release and the opportunity arose to finish out the rest of the pipe functions. Along with the console demo that shows how to execute a console command and read the output, I have developed a simple client/server pipe demo that shows how to execute console commands on a remote server.

There are a few other fixes/additions to this release as well:

  • Added a FindItem function to the Menu module that allows you to find the position of a menu by it's text.
  • Added the missing GetPos function to the Progress module (thanks Zedna).
  • Added an AddIcon function to the Toolbar module that allows you to load icons from ICO and ICL files.
  • Added a script that will check to see if there is a new Auto3Lib release.
Auto3Lib: A library of over 1200 functions for AutoIt
Link to comment
Share on other sites

Anyway, I spent the morning trying to figure out what you were trying to do and I think I see your problem. The TreeView that you're trying to access is part of a Dialog window (class name #32770) and according to this MSDN link, that's a class that is only available for system use. That's why you get the "access denied" error when you try to access the TreeView control inside the dialog. According to MS, you'd have to have the system debug privilege in order to use OpenProcess on the dialog. I've seen an article on how to do this, but it's a fairly intense piece of code. I'll take a look at this for a future release, but unless more people run onto this issue, it's not an immediate priority right now.

I forgot to mention that this has been addressed in the latest release. The code now tries to access windows normally and on failure, it will attempt to access the window using the system debug privilege. This gives you full access to all of the system windows that you can not normally access otherwise.
Auto3Lib: A library of over 1200 functions for AutoIt
Link to comment
Share on other sites

I forgot to mention that this has been addressed in the latest release. The code now tries to access windows normally and on failure, it will attempt to access the window using the system debug privilege. This gives you full access to all of the system windows that you can not normally access otherwise.

Slight comment, I don't like to much to mask using system debug priviledge utilisation. I hope you know what you are doing. Malware is really bad ...
Link to comment
Share on other sites

Slight comment, I don't like to much to mask using system debug priviledge utilisation. I hope you know what you are doing. Malware is really bad ...

Your comment is noted, but I doubt seriously that using system debug privilige will be the cause for a rash of malware developed using Auto3Lib. As for "knowing what I'm doing", well, let's just say the jury is still out on that one. :)
Auto3Lib: A library of over 1200 functions for AutoIt
Link to comment
Share on other sites

Your comment is noted, but I doubt seriously that using system debug privilige will be the cause for a rash of malware developed using Auto3Lib. As for "knowing what I'm doing", well, let's just say the jury is still out on that one. :)

I am part of the jury so the candidate can get a A+ grade ... :D
Link to comment
Share on other sites

as far as i'm concerned, i can say that if you were not in the community, i would leave AutoIt

Thanx for improving and sharing your skill

i will test the pipes functions, but i know they works ^^

PsExec ,AutoIt version, we can say it's possible now...

just imagine the possibilites

-- Arck System _ Soon -- Ideas make everything

"La critique est facile, l'art est difficile"

Projects :

[list] [*]Au3Service : Run your exe as service V3 / Updated 29/07/2013 Get it Here [/list]
Link to comment
Share on other sites

as far as i'm concerned, i can say that if you were not in the community, i would leave AutoIt

Thanx for improving and sharing your skill

i will test the pipes functions, but i know they works ^^

PsExec ,AutoIt version, we can say it's possible now...

just imagine the possibilites

Thank you for the contributions that you made to the pipe functions. I will leave it up to you to take the module and actually do something useful with it. All that GUI stuff gives me the hives. :)
Auto3Lib: A library of over 1200 functions for AutoIt
Link to comment
Share on other sites

@PaulIA

As you seem to be the wizard of Oz these days :) , maybe you can put me on the right track.

In my experiement here :

Creating COM objects without a need of DLL's

I am missing 1 last link to get the ball rolling. I see that you added PIPE functionality to the Lib, which is GREATTTT !!!

When running the example script above it passes data from 1 AU3 to an other AU3 using a COM server based on WSC.

The handshake between the AU3's scripts and the COM objects, are done by means of StdI/O (console read write if you want)

This all works fine, no problem so far.

Now the question, is it possible using your PIPE function to APPEND data to an existing StdI/O stream.

If yes this would be great if you could throw in a little exaple to ge me started.

Many thanks in advance

reagrds

ptrex

Edited by ptrex
Link to comment
Share on other sites

@PaulIA

As you seem to be the wizard of Oz these days :) , maybe you can put me on the right track.

In my experiement here :

Creating COM objects without a need of DLL's

I am missing 1 last link to get the ball rolling. I see that you added PIPE functionality to the Lib, which is GREATTTT !!!

When running the example script above it passes data from 1 AU3 to an other AU3 using a COM server based on WSC.

The handshake between the AU3's scripts and the COM objects, are done by means of StdI/O (console read write if you want)

This all works fine, no problem so far.

Now the question, is it possible using your PIPE function to APPEND data to an existing StdI/O stream.

If yes this would be great if you could throw in a little exaple to ge me started.

Many thanks in advance

reagrds

ptrex

If you want to append data to the end of the Std I/O stream, how about getting the handle with GetStdHandle and then using the ConsoleWrite API call (the Windows one, not the AutoIt one)? Or am I totally off base?
Auto3Lib: A library of over 1200 functions for AutoIt
Link to comment
Share on other sites

@PaulIA

Thanks for your feedback !!

Probably your are right saying : "GetStdHandle and then using the ConsoleWrite API call". But I am no good (yet) with using DLL Calls and windows API's. :">

So I will have to find an other solution for the time being.

Regards,

ptrex

Link to comment
Share on other sites

@PaulIA

Thanks for your feedback !!

Probably your are right saying : "GetStdHandle and then using the ConsoleWrite API call". But I am no good (yet) with using DLL Calls and windows API's. :">

So I will have to find an other solution for the time being.

Regards,

ptrex

hehe i don't feel alone with my std I/O

the PaulIA solution is the only way to do in my knowledge

i wanted pipes function because Windows use this too

you have to learn the API, it's long (i know what i'm saying), but after, you feel more powerful :)

when it works :D

-- Arck System _ Soon -- Ideas make everything

"La critique est facile, l'art est difficile"

Projects :

[list] [*]Au3Service : Run your exe as service V3 / Updated 29/07/2013 Get it Here [/list]
Link to comment
Share on other sites

@Arcker

Thanks for the mental support !! :)

I have a way around dealing with StdI/O, that' s not a problem, only the APPEND I haven't figured out yet.

Maybe PaulIA can add the APPEND to the Lib ? It might be of commen use anyhow.

Anyway sooner or later I dig into the API stuff.

regards,

ptrex

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...