Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use ShellExecute to run emulators on Win32 #701

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

raelgc
Copy link

@raelgc raelgc commented Nov 13, 2020

This is an updated version of the system call, not requiring a cmd prompt to run emulators.

It has better flexibility, because it behaves like a user double clicking on an app.

@jrassa During the Windows environment configuration, I got almost all dependencies (freetype, freeimage, curl and rapidsjon) installed using vspkg. Only libvlc was required to be manually downloaded.

Do you think it's worth document my building process using vspkg? While it requires VS Studio 2019 setup to install C++ core libraries, I followed your MSBuild commands from the CI config in your repo (i.e., the build/compile process is all command line).

@raelgc
Copy link
Author

raelgc commented Nov 13, 2020

Ok, just tested with a lot of different commands, and this is not properly handling arguments. I'll improve it (and close this PR for now).

@raelgc raelgc closed this Nov 13, 2020
@raelgc raelgc reopened this Nov 14, 2020
@raelgc
Copy link
Author

raelgc commented Nov 14, 2020

Now I'm using PathGetArgs to properly parse arguments.

@raelgc
Copy link
Author

raelgc commented Nov 15, 2020

I tested this in a different Windows box: it requires a newest version of Microsoft Visual C++ Redistributable: the 2015 x86 version.

@o-p-a
Copy link

o-p-a commented Nov 23, 2020

Hello,
Your patch is good and I'm also wrote similar patch this on #684 . (& add support for multibyte characters)
My patch using CreateProcessW() is not need split program and arguments. Please refer.

@raelgc
Copy link
Author

raelgc commented Nov 23, 2020

@o-p-a Your PR is address several issues with the multibyte support! Nice!

For some reason, I missed it, sorry!

My solution relied on ShellExecuteEx because I want to keep the ability of run .lnk file like the system call.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants