By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
455,513 Members | 1,604 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 455,513 IT Pros & Developers. It's quick & easy.

Windows Explorer Drag and Drop for CLI Arugments

P: n/a
I'm building a file format converter for someone who at best takes more
than his fair share of IT helpdesk hours :D

So I want to make it as simple as possible. What I want it to do is,
run:

program.exe file.txt

When I drop file.txt onto the executable file. In other words, take
whatever file dropped onto the executable as the second CLI arugment.

I don't know how this works, but I have seen it before with the OggDrop
Encoder, where you drop your audio file onto the executable and it
outputs an .ogg encoded file. I've also seen it in pure CLI
executables.. But from working with the OggDrop Source I dont see
anything that would allow me to do what they are doing. And the other
utilities are closed source, so no luck there.

Any Insights, Help or Misc. Commentary would be greatly appreciated.

Nov 8 '05 #1
Share this Question
Share on Google+
3 Replies


P: n/a
Patrick Kramer wrote:
I'm building a file format converter for someone who at best takes more
than his fair share of IT helpdesk hours :D

So I want to make it as simple as possible. What I want it to do is,
run:

program.exe file.txt

When I drop file.txt onto the executable file. In other words, take
whatever file dropped onto the executable as the second CLI arugment.

I don't know how this works, but I have seen it before with the OggDrop
Encoder, where you drop your audio file onto the executable and it
outputs an .ogg encoded file. I've also seen it in pure CLI
executables.. But from working with the OggDrop Source I dont see
anything that would allow me to do what they are doing. And the other
utilities are closed source, so no luck there.

Any Insights, Help or Misc. Commentary would be greatly appreciated.


That's an OS issue, not so much a programming issue, and so it's
off-topic here. The C++ question would be related to argc and argv, and
if you need help with that, just ask.

Cheers! --M

Nov 8 '05 #2

P: n/a
Patrick Kramer <pk*****@meton.net> wrote:
I'm building a file format converter for someone who at best takes more
than his fair share of IT helpdesk hours :D

So I want to make it as simple as possible. What I want it to do is,
run:

program.exe file.txt

When I drop file.txt onto the executable file. In other words, take
whatever file dropped onto the executable as the second CLI arugment.

I don't know how this works, but I have seen it before with the OggDrop
Encoder, where you drop your audio file onto the executable and it
outputs an .ogg encoded file. I've also seen it in pure CLI
executables.. But from working with the OggDrop Source I dont see
anything that would allow me to do what they are doing. And the other
utilities are closed source, so no luck there.

Any Insights, Help or Misc. Commentary would be greatly appreciated.


<off-topic>
There is no special facility needed, as long as your program handles
argc/argv properly. If you drag and drop files onto the program, it
will pass each file as a command line parameter. Try dragging files
onto this program:

#include <iostream>
#include <string>

int main(int argc, char* argv[])
{
if (argc < 2) {
std::cout << "no files!\n";
}
else {
// argv[0] is probably program name, so skip it
for (int i = 1; i < argc; ++i) {
std::cout << argv[i] << '\n';
}
}

// to pause the screen
std::cout << "\n\nPress <Enter> to quit.\n";
std::string trash;
std::getline(std::cin, trash);

return 0;
}
</off-topic>

--
Marcus Kwok
Nov 8 '05 #3

P: n/a
That's what I needed..

I wrote an exploratory program that excepted CLI arguments in command
prompt and then ouputed the file as output.txt. It worked within the
command prompt, but didn't do anything when I dragged and dropped to
the executable in windows.

I figured I was doing something wrong (apparently :D).. But I'll just
work off the code you submitted, as It does exactly what I want.

Thanks.

Nov 8 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.