Tuesday, January 31, 2006, 8:55:02 PM, Dmitry Timoshkov wrote:
Hello,
the app I'm working on does:
RegCreateKeyEx(HKCR, "http\shell\open\command", &hkey); RegQueryValueEx(hkey, cmd); ShellExecute(cmd, "http://host/url");
Currently it fails under Wine because we have "winebrowser %1" as the command name in the registry.
A simple 5 lines long test under Windows shows that if the command passed to ShellExecute contains %1 after executable name it fails as well. Moreover, registry under Windows doesn't have %1 in the command name specified in http\shell\open\command.
I've also verified that it's true for htmlfile\shell\open\command as well, although mailto\shell\open\command has the %1 appendix in Windows.
This patch fixes my application.
Changelog: Remove %1 from [http|htmlfile]\shell\open\command.
Well this patch broke functionality with other applications. And I'm not sure that this program doing the right thing as on win2k with FireFox installed I have @=C:\PROGRA~1\MOZILL~1\FIREFOX.EXE -url "%1"
So we need to decide which programs do we want to brake and which programs we want to have working.
Vitaliy Margolen
On Sun, 2006-02-05 at 22:03 -0700, Vitaliy Margolen wrote:
Well this patch broke functionality with other applications. And I'm not sure that this program doing the right thing as on win2k with FireFox installed I have @=C:\PROGRA~1\MOZILL~1\FIREFOX.EXE -url "%1"
So we need to decide which programs do we want to brake and which programs we want to have working.
I've tested ShellExetute with the above command under Windows and it fails for me.
Dmitry Timoshkov wrote:
On Sun, 2006-02-05 at 22:03 -0700, Vitaliy Margolen wrote:
Well this patch broke functionality with other applications. And I'm not sure that this program doing the right thing as on win2k with FireFox installed I have @=C:\PROGRA~1\MOZILL~1\FIREFOX.EXE -url "%1"
So we need to decide which programs do we want to brake and which programs we want to have working.
I've tested ShellExetute with the above command under Windows and it fails for me.
Then surely either the program depending on this needs to be fixed or it doesn't use the shell open command in this way on Windows.
On Mon, 2006-02-06 at 17:16 +0000, Robert Shearman wrote:
I've tested ShellExetute with the above command under Windows and it fails for me.
Then surely either the program depending on this needs to be fixed or it doesn't use the shell open command in this way on Windows.
Even if that's the case I don't see a confirmation that my patch or ShellExecute behaviour in Wine are wrong.
Monday, February 6, 2006, 10:20:49 AM, Dmitry Timoshkov wrote:
On Mon, 2006-02-06 at 17:16 +0000, Robert Shearman wrote:
I've tested ShellExetute with the above command under Windows and it fails for me.
Then surely either the program depending on this needs to be fixed or it doesn't use the shell open command in this way on Windows.
Even if that's the case I don't see a confirmation that my patch or ShellExecute behaviour in Wine are wrong.
Ok, how about 'wine start http://yahoo.com '? It doesn't work without %1. How else should we pass URL to the winebrowser then? Unless of course we make it use DDE... But that's not the way other programs work (like in the above example FireFox).
Vitaliy
On Mon, 2006-02-06 at 20:01 -0700, Vitaliy Margolen wrote:
Ok, how about 'wine start http://yahoo.com '? It doesn't work without %1. How else should we pass URL to the winebrowser then? Unless of course we make it use DDE... But that's not the way other programs work (like in the above example FireFox).
Can we start speak in the API terms? In this case it's ShellExecute. IMO a way to go is to find out how Windows' start command handles that.
Monday, February 6, 2006, 8:27:26 PM, Dmitry Timoshkov wrote:
On Mon, 2006-02-06 at 20:01 -0700, Vitaliy Margolen wrote:
Ok, how about 'wine start http://yahoo.com '? It doesn't work without %1. How else should we pass URL to the winebrowser then? Unless of course we make it use DDE... But that's not the way other programs work (like in the above example FireFox).
Can we start speak in the API terms? In this case it's ShellExecute. IMO a way to go is to find out how Windows' start command handles that.
IE uses DDE that's why there is no %1 at the end. So basically the app that you trying to get running on Wine is made for IE only :-(
Vitaliy.