trigger from windows command line

1,757 views
Skip to first unread message

Niels

unread,
Aug 27, 2012, 7:45:23 AM8/27/12
to joao...@googlegroups.com
I was not sure how to send messages automatically to my devices, for example when window's starts

At the moment I have a BAT file running which maps my shared drives, 
I thought just to add this but how..?

so I wrote a small application which can be called from a bat file like so :
c:\AutoRemoteURLOpener.exe <message> <key> [target] [password]

Alternatively you can drop a "key.txt" file with the key in the same folder as the exe, it will see that and use that key for the communication.
so the bat file would be :

[code]
Echo AR Script
c:\AutoRemoteURLOpener.exe "This is a test"
[/code]

Let me know if you have any thoughts on this.

The file is here :  https://www.dropbox.com/s/7bwxj3wz5t2xeg0/AutoRemoteURLOpener.exe


joaomgcd

unread,
Aug 27, 2012, 9:26:08 AM8/27/12
to
That's a good idea! For simple command-line AutoRemoting it seems to be a good solution! Just tried it, and it works a treat. Simple and effective

Thank you for this. :)

If you want something more powerful (but also more complex, take a look at EventGhost. It's like Tasker for Windows!


joao

jo...@boshdirect.com

unread,
Sep 14, 2012, 12:41:06 PM9/14/12
to joao...@googlegroups.com
Cool idea. Is the source available somewhere?

Michael Stevens

unread,
Mar 7, 2013, 9:31:40 AM3/7/13
to joao...@googlegroups.com
Hi, this really does add functionality to Autoremote, but I was wondering if there was a way to pass highlighted text (i.e. selected text in Notepad for instance  to the <message> parameter?

regards, Mike

IAhHe

unread,
Mar 17, 2013, 5:06:59 AM3/17/13
to joao...@googlegroups.com
On Monday, August 27, 2012 7:45:23 AM UTC-4, Niels wrote:
I was not sure how to send messages automatically to my devices, for example when window's starts

At the moment I have a BAT file running which maps my shared drives, 
I thought just to add this but how..?

so I wrote a small application which can be called from a bat file like so :
c:\AutoRemoteURLOpener.exe <message> <key> [target] [password]


Nice!  It works great, thanks for sharing it.

I started sending AutoRemote commands from the command line with a different tool, but I ran into a problem.  I just verified that your utility actually has the same issue!  I'll explain what I am doing, then I'll explain the problem.

I started using the command line tool curl (http://curl.haxx.se/) to send AutoRemote POSTs.  (I'm using a version that is bundled with the cygwin (http://www.cygwin.com/) tool kit.)

So, to send messages to my phone, I can do this:  
curl -d "key=<MyKey>" -d  "message=<message>"  http://autoremotejoaomgcd.appspot.com/sendmessage

As with your utility, curl supports the use of files to store the arguments.  So I can instead do this:
curl -d @key.txt -d "message=<message>" @autoremoteurl.txt

With that, I created a Windows batch file called sendARCmd.bat with this contents:
curl -d @C:\AutoRemote\key.txt -d message=cmd%%20%1=:=%2 @C:\AutoRemote\URL.txt

Lastly, here is an example of using the batch file:
sendARCmd say "This is a test."

That's kind of the long way around to accomplish the same thing that your utility is doing, but it's an option for anyone who wants to learn (or is already familiar with) curl.  It's a great tool.

On to the issue I mentioned ...

I ran into a problem with URL formatting.  So, for example, if I try to send text to my phone's clipboard that looks like this:

copy=:="This is a test?myvar1=100&myvar2=200"

I will not get the whole string.  Instead, I lose everything after "100."  I see the same problem with your utility ... however the problem does not occur when using Joaomgcd's web client!

As I'm sure you have already guessed, the problem will not occur if I replace "&" with "%26".  It's generally not difficult to do that kind of text substitution in a Windows batch file, but the one exception seems to be trying to substitute text for  "&".  I haven't figured out how to do it yet!  (I guess I could switch to VBScript, or Python, or something.)  But I'm wondering if there are some additional headers I can add to the POST that will cause the text to get interpreted correctly, without my having to change every instance of "&".  I'm not that familiar with web development ... maybe you know?

Joaomgcd, if you're reading this, can you explain how you do this in your web form?  Do you modify the "&" characters yourself?

Thanks a lot.

Sheldon

unread,
Mar 17, 2013, 5:21:08 AM3/17/13
to joao...@googlegroups.com
On Thursday, March 7, 2013 9:31:40 AM UTC-5, Michael Stevens wrote:
Hi, this really does add functionality to Autoremote, but I was wondering if there was a way to pass highlighted text (i.e. selected text in Notepad for instance  to the <message> parameter?
 
After highlighting the text, if you are willing to do the additional step of manually copying it to the clipboard, you could use a script that calls nircmd (http://www.nirsoft.net/utils/nircmd.html) to copy the clipboard contents to the <message> parameter.

Nircmd actually does support keystroke execution, so you technically could use it to copy highlighted text.  But I don't think it would be practical to attempt to get it working that way.  Copying the clipboard contents however, would be very straightforward with that tool.

Michael Stevens

unread,
Mar 17, 2013, 7:37:14 AM3/17/13
to joao...@googlegroups.com
Hi, you could try escaping the ampersands with carets as I had to do in a batch file ( see https://groups.google.com/forum/#!topic/joaomgcd/Okv7fWKNO-E )

There's no need to use the %26, So you would have each instance of an ampersand like this in your command: "^&" (no quotes)
I know nothing of curl but is the double percentage sign in your command deliberate?
curl -d @C:\AutoRemote\key.txt -d message=cmd%%20%1=:=%2 @C:\AutoRemote\URL.txt

Regards, Mike

Michael Stevens

unread,
Mar 17, 2013, 7:41:29 AM3/17/13
to joao...@googlegroups.com
Hi again, 
I did consider this approach but it would seem that it would message everything I attempted to ctrl-c which would be a nightmare. However, it did cause me to re-think this method and I'm now going to look at using autohotkey to set up a specific copy to message key combo (ie. "Right-Control C") so many thanks for nudging me in the right direction.

Regards, Mike

Sheldon

unread,
Mar 20, 2013, 5:58:29 PM3/20/13
to joao...@googlegroups.com
On Sunday, March 17, 2013 7:37:14 AM UTC-4, Michael Stevens wrote:
Hi, you could try escaping the ampersands with carets as I had to do in a batch file ( see https://groups.google.com/forum/#!topic/joaomgcd/Okv7fWKNO-E )

Interesting ... I never knew about the use of carets in Windows batch files!  Thanks for that information.
 
There's no need to use the %26, So you would have each instance of an ampersand like this in your command: "^&" (no quotes)

I gave that a try, but could not get it to work.

For example, suppose I want to send this text to my phone's clipboard:  
a b?par1=123&par2=456

So I pass it in to my batch file this way:
sendarcmd.bat cmd copy=:=a b?par1=123&par2=456

The batch file assigns %1 to the command "cmd copy", and %2 to the input string.  It then uses the construct "message=cmd%%20%1=:=%2" to get the input string into the correct form to pass to curl:
message=cmd%20copy=:="a b?par1=123&par2=456"

When I pass the input string to my batch file, I find that I *must* put it in double quotes.  Without double quotes, argument "%2" is interpreted as simply the character 'a'.  I can get around that particular problem by replacing the space character with %20:  
a%20b?par1=123&par2=456

That works, but then everything after '&' is ignored, so the text that is sent to my phone is:
a b?par1=123

I get that same result if I change the ampersand to %26.  And if I change the ampersand to ^&, I get the same result with '^' tacked on the end.

The *only* way I have gotten this to work is to use double quotes, and by replacing ampersand with %26:
"a b?par1=123%26par2=456"

(BTW, using ^& with double quotes results in exactly the same problem as stated above, without double quotes.)

I know nothing of curl but is the double percentage sign in your command deliberate?
curl -d @C:\AutoRemote\key.txt -d message=cmd%%20%1=:=%2 @C:\AutoRemote\URL.txt

Yes.  The one parsing trick I did know about batch files:  you must escape '%' by preceding it with another '%'.  :)

So at the moment, if I want to send a URL-formatted string to my phone, I must search for and replace all '&' occurrences with "%26".  I wish I could figure out a way to do that replacement programmatically, inside the batch file ... but I just cannot figure out how to do that!  Any other character ... sure.  But ampersands?  I don't see how.

Thanks,

-Sheldon
Message has been deleted

Sheldon

unread,
Mar 20, 2013, 6:39:23 PM3/20/13
to joao...@googlegroups.com
On Sunday, March 17, 2013 7:41:29 AM UTC-4, Michael Stevens wrote:
Hi again, 
I did consider this approach but it would seem that it would message everything I attempted to ctrl-c which would be a nightmare.

I'm not sure how that would happen, unless you somehow augmented the behavior of the ctrl-c key sequence.  What I was thinking was that you would highlight the text, press ctrl-c, and then open Explorer or a command prompt to run a batch file.  The batch file would use nircmd to grab the clipboard contents, and then send it to your device using Niel's AutoRemoteURLOpener utility ... or curl, for that matter.
 
However, it did cause me to re-think this method and I'm now going to look at using autohotkey to set up a specific copy to message key combo (ie. "Right-Control C") 

Sure, that's even better!  Then you wouldn't have to copy the text to the clipboard yourself.  You could simply highlight the text, hit right-ctrl-C, and let nircmd invoke ctrl-c to copy the clipboard contents, before doing the rest.

Message has been deleted

J.M.

unread,
Mar 29, 2013, 5:35:59 PM3/29/13
to joao...@googlegroups.com
Hi,


I tried to find a comfortable way, to dial phone numbers e.g. from my local Outlook or a Webpage I'm in on my computer at my mobile phone.

With Autoremote, Tasker and the following Autohotkey-Script, it works like a charm:

------------------ Start Autohotkey-Script --------------------
^,:: ; CTRL+"," Hotkey

send, ^c
; msgbox, %clipboard%
telefonnummer := clipboard

url:="http://autoremotejoaomgcd.appspot.com/sendmessage?"
postdata:="key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&message=" . telefonnummer

; "Key" above needs to be your personal-Autoremote-Key!!!

rueckgabe:=httpquery(url, postdata)

return

; httpQuery-0-3-6.ahk
httpQuery(byref p1 = "", p2 = "", p3="", p4="")
{ ; v0.3.6 (w) Oct, 26 2010 by derRaphael / zLib-Style release
; currently the verbs showHeader, storeHeader, and updateSize are supported in httpQueryOps
; in case u need a different UserAgent, Proxy, ProxyByPass, Referrer, and AcceptType just
; specify them as global variables - mind the varname for referrer is httpQueryReferer [sic].
; Also if any special dwFlags are needed such as INTERNET_FLAG_NO_AUTO_REDIRECT or cache
; handling this might be set using the httpQueryDwFlags variable as global
global httpQueryOps, httpAgent, httpProxy, httpProxyByPass, httpQueryReferer, httpQueryAcceptType
, httpQueryDwFlags
; Get any missing default Values

;v0.3.6
; check for syntax
if ( VarSetCapacity(p1) != 0 )
dReturn:=true, result := "", lpszUrl := p1, POSTDATA := p2, HEADERS := p3
else
result := p1, lpszUrl := p2, POSTDATA := p3, HEADERS := p4

defaultOps =
(LTrim Join|
httpAgent=AutoHotkeyScript|httpProxy=0|httpProxyByPass=0|INTERNET_FLAG_SECURE=0x00800000
SECURITY_FLAG_IGNORE_UNKNOWN_CA=0x00000100|SECURITY_FLAG_IGNORE_CERT_CN_INVALID=0x00001000
SECURITY_FLAG_IGNORE_CERT_DATE_INVALID=0x00002000|SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE=0x00000200
INTERNET_OPEN_TYPE_PROXY=3|INTERNET_OPEN_TYPE_DIRECT=1|INTERNET_SERVICE_HTTP=3
)
Loop,Parse,defaultOps,|
{
RegExMatch(A_LoopField,"(?P<Option>[^=]+)=(?P<Default>.*)",http)
if StrLen(%httpOption%)=0
%httpOption% := httpDefault
}

; Load Library
hModule := DllCall("LoadLibrary", "Str", "WinINet.Dll")

; SetUpStructures for URL_COMPONENTS / needed for InternetCrackURL
; http://msdn.microsoft.com/en-us/library/aa385420(VS.85).aspx
offset_name_length:= "4-lpszScheme-255|16-lpszHostName-1024|28-lpszUserName-1024|"
. "36-lpszPassword-1024|44-lpszUrlPath-1024|52-lpszExtrainfo-1024"
VarSetCapacity(URL_COMPONENTS,60,0)
; Struc Size ; Scheme Size ; Max Port Number
NumPut(60,URL_COMPONENTS,0), NumPut(255,URL_COMPONENTS,12), NumPut(0xffff,URL_COMPONENTS,24)

Loop,Parse,offset_name_length,|
{
RegExMatch(A_LoopField,"(?P<Offset>\d+)-(?P<Name>[a-zA-Z]+)-(?P<Size>\d+)",iCU_)
VarSetCapacity(%iCU_Name%,iCU_Size,0)
NumPut(&%iCU_Name%,URL_COMPONENTS,iCU_Offset)
NumPut(iCU_Size,URL_COMPONENTS,iCU_Offset+4)
}

; Split the given URL; extract scheme, user, pass, authotity (host), port, path, and query (extrainfo)
; http://msdn.microsoft.com/en-us/library/aa384376(VS.85).aspx
DllCall("WinINet\InternetCrackUrlA","Str",lpszUrl,"uInt",StrLen(lpszUrl),"uInt",0,"uInt",&URL_COMPONENTS)

; Update variables to retrieve results
Loop,Parse,offset_name_length,|
{
RegExMatch(A_LoopField,"-(?P<Name>[a-zA-Z]+)-",iCU_)
VarSetCapacity(%iCU_Name%,-1)
}
nPort:=NumGet(URL_COMPONENTS,24,"uInt")

; Import any set dwFlags
dwFlags := httpQueryDwFlags
; For some reasons using a selfsigned https certificates doesnt work
; such as an own webmin service - even though every security is turned off
; https with valid certificates works when
if (lpszScheme = "https")
dwFlags |= (INTERNET_FLAG_SECURE|SECURITY_FLAG_IGNORE_CERT_CN_INVALID
|SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE)

; Check for Header and drop exception if unknown or invalid URL
if (lpszScheme="unknown") {
Result := "ERR: No Valid URL supplied."
Return StrLen(Result)
}

; Initialise httpQuery's use of the WinINet functions.
; http://msdn.microsoft.com/en-us/library/aa385096(VS.85).aspx
hInternet := DllCall("WinINet\InternetOpenA"
,"Str",httpAgent,"UInt"
,(httpProxy != 0 ? INTERNET_OPEN_TYPE_PROXY : INTERNET_OPEN_TYPE_DIRECT )
,"Str",httpProxy,"Str",httpProxyBypass,"Uint",0)

; Open HTTP session for the given URL
; http://msdn.microsoft.com/en-us/library/aa384363(VS.85).aspx
hConnect := DllCall("WinINet\InternetConnectA"
,"uInt",hInternet,"Str",lpszHostname, "Int",nPort
,"Str",lpszUserName, "Str",lpszPassword,"uInt",INTERNET_SERVICE_HTTP
,"uInt",0,"uInt*",0)

; Do we POST? If so, check for header handling and set default
if (Strlen(POSTDATA)>0) {
HTTPVerb:="POST"
if StrLen(Headers)=0
Headers:="Content-Type: application/x-www-form-urlencoded"
} else ; otherwise mode must be GET - no header defaults needed
HTTPVerb:="GET"

; Form the request with proper HTTP protocol version and create the request handle
; http://msdn.microsoft.com/en-us/library/aa384233(VS.85).aspx
hRequest := DllCall("WinINet\HttpOpenRequestA"
,"uInt",hConnect,"Str",HTTPVerb,"Str",lpszUrlPath . lpszExtrainfo
,"Str",ProVer := "HTTP/1.1", "Str",httpQueryReferer,"Str",httpQueryAcceptTypes
,"uInt",dwFlags,"uInt",Context:=0 )

; Send the specified request to the server
; http://msdn.microsoft.com/en-us/library/aa384247(VS.85).aspx
sRequest := DllCall("WinINet\HttpSendRequestA"
, "uInt",hRequest,"Str",Headers, "uInt",Strlen(Headers)
, "Str",POSTData,"uInt",Strlen(POSTData))

VarSetCapacity(header, 2048, 0) ; max 2K header data for httpResponseHeader
VarSetCapacity(header_len, 4, 0)

; Check for returned server response-header (works only _after_ request been sent)
; http://msdn.microsoft.com/en-us/library/aa384238.aspx
Loop, 5
if ((headerRequest:=DllCall("WinINet\HttpQueryInfoA","uint",hRequest
,"uint",21,"uint",&header,"uint",&header_len,"uint",0))=1)
break

If (headerRequest=1) {
VarSetCapacity(res,headerLength:=NumGet(header_len),32)
DllCall("RtlMoveMemory","uInt",&res,"uInt",&header,"uInt",headerLength)
Loop,% headerLength
if (*(&res-1+a_index)=0) ; Change binary zero to linefeed
NumPut(Asc("`n"),res,a_index-1,"uChar")
VarSetCapacity(res,-1)
} else
res := "timeout"

; Get 1st Line of Full Response
Loop,Parse,res,`n,`r
{
RetValue := A_LoopField
break
}

; No Connection established - drop exception
If (RetValue="timeout") {
html := "Error: timeout"
return -1
}
; Strip protocol version from return value
RetValue := RegExReplace(RetValue,"HTTP/1\.[01]\s+")

; List taken from http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
HttpRetCodes := "100=Continue|101=Switching Protocols|102=Processing (WebDAV) (RFC 2518)|"
. "200=OK|201=Created|202=Accepted|203=Non-Authoritative Information|204=No"
. " Content|205=Reset Content|206=Partial Content|207=Multi-Status (WebDAV)"
. "|300=Multiple Choices|301=Moved Permanently|302=Found|303=See Other|304="
. "Not Modified|305=Use Proxy|306=Switch Proxy|307=Temporary Redirect|400=B"
. "ad Request|401=Unauthorized|402=Payment Required|403=Forbidden|404=Not F"
. "ound|405=Method Not Allowed|406=Not Acceptable|407=Proxy Authentication "
. "Required|408=Request Timeout|409=Conflict|410=Gone|411=Length Required|4"
. "12=Precondition Failed|413=Request Entity Too Large|414=Request-URI Too "
. "Long|415=Unsupported Media Type|416=Requested Range Not Satisfiable|417="
. "Expectation Failed|418=I'm a teapot (RFC 2324)|422=Unprocessable Entity "
. "(WebDAV) (RFC 4918)|423=Locked (WebDAV) (RFC 4918)|424=Failed Dependency"
. " (WebDAV) (RFC 4918)|425=Unordered Collection (RFC 3648)|426=Upgrade Req"
. "uired (RFC 2817)|449=Retry With|500=Internal Server Error|501=Not Implem"
. "ented|502=Bad Gateway|503=Service Unavailable|504=Gateway Timeout|505=HT"
. "TP Version Not Supported|506=Variant Also Negotiates (RFC 2295)|507=Insu"
. "fficient Storage (WebDAV) (RFC 4918)|509=Bandwidth Limit Exceeded|510=No"
. "t Extended (RFC 2774)"

; Gather numeric response value
RetValue := SubStr(RetValue,1,3)

; Parse through return codes and set according informations
Loop,Parse,HttpRetCodes,|
{
HttpReturnCode := SubStr(A_LoopField,1,3) ; Numeric return value see above
HttpReturnMsg := SubStr(A_LoopField,5) ; link for additional information
if (RetValue=HttpReturnCode) {
RetMsg := HttpReturnMsg
break
}
}

; Global HttpQueryOps handling
if strlen(HTTPQueryOps)>0 {
; Show full Header response (usefull for debugging)
if (instr(HTTPQueryOps,"showHeader"))
MsgBox % res
; Save the full Header response in a global Variable
if (instr(HTTPQueryOps,"storeHeader"))
global HttpQueryHeader := res
; Check for size updates to export to a global Var
if (instr(HTTPQueryOps,"updateSize")) {
Loop,Parse,res,`n
If RegExMatch(A_LoopField,"Content-Length:\s+?(?P<Size>\d+)",full) {
global HttpQueryFullSize := fullSize
break
}
if (fullSize+0=0)
HttpQueryFullSize := "size unavailable"
}
}

; Check for valid codes and drop exception if suspicious
if !(InStr("100 200 201 202 302",RetValue)) {
Result := RetValue " " RetMsg
return StrLen(Result)
}

VarSetCapacity(BytesRead,4,0)
fsize := 0
Loop ; the receiver loop - rewritten in the need to enable
{ ; support for larger file downloads
bc := A_Index
VarSetCapacity(buffer%bc%,1024,0) ; setup new chunk for this receive round
ReadFile := DllCall("wininet\InternetReadFile"
,"uInt",hRequest,"uInt",&buffer%bc%,"uInt",1024,"uInt",&BytesRead)
ReadBytes := NumGet(BytesRead) ; how many bytes were received?
If ((ReadFile!=0)&&(!ReadBytes)) ; we have had no error yet and received no more bytes
break ; we must be done! so lets break the receiver loop
Else {
fsize += ReadBytes ; sum up all chunk sizes for correct return size
sizeArray .= ReadBytes "|"
}
if (instr(HTTPQueryOps,"updateSize"))
Global HttpQueryCurrentSize := fsize
}
sizeArray := SubStr(sizeArray,1,-1) ; trim last PipeChar

VarSetCapacity( ( dReturn == true ) ? result : p1 ,fSize+1,0) ; reconstruct the result from above generated chunkblocks
Dest := ( dReturn == true ) ? &result : &p1 ; to a our ByRef result variable
Loop,Parse,SizeArray,|
DllCall("RtlMoveMemory","uInt",Dest,"uInt",&buffer%A_Index%,"uInt",A_LoopField)
, Dest += A_LoopField

DllCall("WinINet\InternetCloseHandle", "uInt", hRequest) ; close all opened
DllCall("WinINet\InternetCloseHandle", "uInt", hInternet)
DllCall("WinINet\InternetCloseHandle", "uInt", hConnect)
DllCall("FreeLibrary", "UInt", hModule) ; unload the library

if ( dReturn == true ) {
VarSetCapacity( result, -1 )
ErrorLevel := fSize
return Result
} else
return fSize ; return the size - strings need update via VarSetCapacity(res,-1)
}


------------------ End Autohotkey-Script --------------------


best regards

J.M.

Michael Stevens

unread,
Mar 30, 2013, 6:15:28 AM3/30/13
to joao...@googlegroups.com, bergwand...@gmail.com
Thanks for the info, I'll hopefully give it a try this weekend.
Regards, Mike

glimm

unread,
May 12, 2013, 4:47:21 AM5/12/13
to joao...@googlegroups.com
Can someone please provide a step by step example?

I want to send the contents of my Windows clipboard to my Android device by executing a  simple CMD or BAT -file. This should be done without the use of  an additional program running in the background (eventghost, autohotkey). I only want to use small command line tools, like curl and nircmd, etc.

"C:\Windows\System32\curl.exe" "http://autoremotejoaomgcd.appspot.com/sendmessage?message=copy=:=<CLIPBOARD_CONTENT>&key=<myendlesskey>"

The command is working, I don't know how to get the clipboard content to <CLIPBOARD_CONTENT>. There are some clipboard command for nircmd, but my scripting knowledge is very poor.

And another question: What is the maximum lenght of a message?

Thank you!

Sunil Kolambkar

unread,
Aug 22, 2013, 11:04:37 AM8/22/13
to joao...@googlegroups.com
Niels

I just want to thank you for creating command line exe for autoremote. 
I can't explain how much it is worth to me. 

Thanks again

Sunil

Sunil Kolambkar

unread,
Oct 15, 2013, 10:36:12 AM10/15/13
to joao...@googlegroups.com
Niels

Sorry that I am opening a older post. 
I am extensively using EXE created by you & thanks for creating it.
I don't know whether its the EXE or AutoRemote or Tasker issue, but whenever screen is off, and if I send the message using EXE, Tasker / AutoRemote do not React to it until and unless I make screen on manually. As Soon As screen on, action happens.

Can you suggest, why it could be? I tried sending message from AutoRemote on my PC when screen is off and it do react. Therefore, I feel writing to you.

Sunil.

On Monday, August 27, 2012 5:15:23 PM UTC+5:30, Niels wrote:

easiuser

unread,
Nov 11, 2013, 10:12:15 AM11/11/13
to joao...@googlegroups.com
Just started using AutoRemote and the windows application is working fine but I cant get this command line to work.  Is the key the same as the perosnal URL?  I have attempted it with 2 parameters and with the key.txt file but not success.


On Monday, August 27, 2012 6:45:23 AM UTC-5, Niels wrote:
Reply all
Reply to author
Forward
0 new messages