AutoHotkey Community

It is currently May 27th, 2012, 12:21 am

All times are UTC [ DST ]




Post new topic Reply to topic  [ 4 posts ] 
Author Message
PostPosted: September 3rd, 2005, 1:36 am 
Offline

Joined: November 6th, 2004, 11:03 am
Posts: 170
Location: Salt Lake City, UT
This is really obscure, I promise.
So, the IT department where I work moved to a Distributed File System (DFS). Basically it makes server links dynamic, so a UNC name like \\Company\Folder can be linked to \\ServerA\folder or \\ServerB\otherfolder, without the end-user ever knowing about it. It's a pretty cool feature, but Win98 doesn't get a long well with it.

However, there is a client Win98 users can run to make their PC play nice with DFS (then, of course, there was a hotfix to the client, cause it wasn't really that great). Anyway, some AHK commands work after the client hotfixes are installed on the Win98 box, and some don't.

An example of a working command:
FileGetVersion

Non-working (at least I think it is)
Run

It's hard to duplicate, I know, but hopefully a difference is visible between how FileGetVersion executes and how Run does.

If it helps any, the Run command won't work on a direct UNC name, or on a mapped drive, like W:\. (I can, however, use Win+R to run the program from the mapped drive, although I can't do it via the UNC name.)


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: September 3rd, 2005, 2:39 am 
Offline

Joined: March 2nd, 2004, 3:36 pm
Posts: 10720
The run command tries to launch the specified application using CreateProcess(). If that fails, it then tries ShellExecuteEx(). Because of this, you could try specifying a more explicit path or name when launching to see if that helps -- under the theory that it would allow CreateProcess to work. For example, rather than launching a document directly, you could run its associated application and pass the document name as the first parameter.

If you want to try research it at the API level, you could use DllCall to call CreateProcess() or ShellExecute() directly. But if you've never used these functions it would probably take considerable time to get comfortable with them.


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: September 8th, 2005, 3:28 pm 
Offline

Joined: November 6th, 2004, 11:03 am
Posts: 170
Location: Salt Lake City, UT
MSDN wrote:
Windows 95/98/Me: ShellExecute is supported by the Microsoft Layer for Unicode. To use this, you must add certain files to your application, as outlined in Microsoft Layer for Unicode on Windows 95/98/Me Systems.

I'm curious if this is causing the problem, but I'm not sure how I can test it.


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: September 8th, 2005, 4:27 pm 
Offline

Joined: March 2nd, 2004, 3:36 pm
Posts: 10720
Although MSDN doesn't say it, I think that means that the W version of ShellExecute() requires Microsoft Layer for Unicode. AutoHotkey uses the A version (ANSI).

By the way, AutoHotkey actually uses ShellExecuteEx(), but the distinction probably doesn't matter for this topic.


Report this post
Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 5 guests


You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Group