Jump to content

Recommended Posts

:bye: Hello everyone, recently (you could call it a day before yesterday), I made a robot (connected to my PC) which I could control using WinSock. This is fairly easy in C++, but could anyone please guide me how to write the function WSASetService (an example is greatly appreciated) in AU3. All I have done so far is this:

Func _WSASetService()
$WSAQUERYSET = DllStructCreate("dword;wstr;word") ;incomplete structure
$RESULT = DllCall($hWs2_32, "int", "WSASetServiceW", "struct", $WSAQUERYSET, "int", 0, "Dword", 0)
EndFunc

I have no idea for typedefs really. By the way, could anyone tell me how do I search for proper typedefs in the header files of Windows SDK.

Thanks...

MKISH

Edited by MKISH

----------------------------------------

:bye: Hey there, was I helpful?

----------------------------------------

My Current OS: Win8 PRO (64-bit); Current AutoIt Version: v3.3.8.1

Link to post
Share on other sites
JohnOne, I am just asking for a translation of WSASetServiceW (Winsock) function and WSAQUERYSET structure from C++ to AU3. I don't suppose, you will need C++ code for that.

----------------------------------------

:bye: Hey there, was I helpful?

----------------------------------------

My Current OS: Win8 PRO (64-bit); Current AutoIt Version: v3.3.8.1

Link to post
Share on other sites

Well you have written the code and the call in C++ and it's fairly easy, why not just post

your simple fairly easy code you wrote in C++ and it will make it much easier for someone

to translate.

AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

Link to post
Share on other sites
  • Moderators

John, why do you need the code, it's windows API, and he gave you the function and typedef he needed.

Anyway, @OP, I'm confused on why you didn't google it, msdn has what yo need:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms742211%28v=vs.85%29.aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/ms741679%28v=vs.85%29.aspx

DllCall and DllStructCreate in the help file have your autoit types.

Just curious on why you're not using the original method if it works still. ( round | wheel )

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Link to post
Share on other sites

Dear Smoke_N,

I had already googled it and thats how I implemented it in C++, but I was not able to translate the types (such as LPGUID, LPWSAVERSION and many others...) to AutoIt. Thats okay in C++ as all I had to do was include Winsock2 header file and everything was done.

The reason for choosing AU3 was that it provides me simplicity (makes the process understandable). One way of doing this would of course be making a DLL with C++ and then calling it via DllCall(), but I rejected it, to make the process understandable.

Regards

----------------------------------------

:bye: Hey there, was I helpful?

----------------------------------------

My Current OS: Win8 PRO (64-bit); Current AutoIt Version: v3.3.8.1

Link to post
Share on other sites
DllCall is not much of a problem here. The real problem is WSAQUERYSET structure.

----------------------------------------

:bye: Hey there, was I helpful?

----------------------------------------

My Current OS: Win8 PRO (64-bit); Current AutoIt Version: v3.3.8.1

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By tarretarretarre
      Version 2.x.x and 3.x.x has been moved to branch 3.x
      About Autoit-Socket-IO
      Autoit-Socket-IO is a event driven TCP/IP wrapper heavily inspired from Socket.IO with focus on user friendliness and long term sustainability.
      I constantly want to make this UDF faster and better, so if you have any suggestions or questions (beginner and advanced) Do not hesitate to ask them, I will gladly help!
      Key features
      Simple API 99% data-type serialization thanks to Autoit-Serialize Can easily be extended with your own functionality thanks to Autoit-Events "Educational" examples Data encryption thanks to _<Crypt.au3> Limitations
      Speed. This UDF will sacrifice some speed for convenience Getting started
      Download the script from AutoIt or pull it from the official github repo git@github.com:tarreislam/Autoit-Socket-IO.git and checkout the tag 4.0.0-beta Check out the documentaion Take a look in the examples/ folder Changelog
      To see changes from 3.x.x and 2.x.x please checkout the 3.x branch
      Version 4.0.0-beta (This update break scripts.)
      Code base fully rewritten with Autoit-Events and decoupled to improve code quality and reduce bloat. The new UDF is very different from 3.x.x so please checkout the UPGRADE guide to fully understand all changes Added new documentation documentaion Success stories
      Since December 2017-now I have used version 1.5.0 in an production environment for 150+ clients with great success, the only downtime is planned windows updates and power outages.
       
      Newest version (2020-09-15!)

       
      Older versions (Not supported anymore)
      Autoit-Socket-IO-1.0.0.zip Autoit-Socket-IO-1.1.0.zip Autoit-Socket-IO-1.3.0.zip Autoit-Socket-IO-1.4.0.zip Autoit-Socket-IO-1.5.0.zip
      Autoit-Socket-IO-2.0.0.zip
    • By lavascript
      So here's what I'm trying to accomplish:

      I need the ability to restart an application on my desktop PC from within my home network. Obviously, writing a script to do that locally would take all of ten seconds. The trick is that I want to do it remotely. I still feel like it wouldn't be difficult to accomplish with a server/client script.

      But of course, that's not good enough. I want to do it from my iPhone. And the easiest way I can see to accomplish that would be through the browser.

      So in my mind, I'm thinking that, on the server side, I can listen for connections on, let's say port 8080. I can watch for a "GET / HTTP/1.1" (or whatever it is...) and respond with a simple webpage that reports a status and has a reset button.

      On my phone, I type, say 192.168.1.150:8080 and get that simple page. When I click the reset button, it sends a "GET /?reset=true" or something and that will trigger a function in the server script to reset the app.

      So in essence, this would be a very simple web server, one that only serves a single, hardcoded page. But this seems too simple. Is it? Or is it actually way more complicated than that?
×
×
  • Create New...