The drag and drop feature is an addition of the "Window Shell" environment. It is not an item that is handled in a standard way, and is beyond the ability to control from the program's source code.
The window manager will decide which graphical program will receive the drag and drop event. That program then decides to do something.
In the "CMD.EXE" program on most modern windows machines, it handles this event by looking at the event's attached file system object, and then fetching the absolute path string to that file.
In the "Windows Shell" program, it checks to see if the receiving object can handle the dropped object, and if so, then it will typically pass the dropped object's path to the receiving object as a command line parameter. However, much of this is done by a convention, you might not get the ability to style that convention to your particular whims.
The key items to consider is that basically the programs that must do the work are not related to the programs you are writing. If you were writing a CMD.EXE you could alter the behavior as you wished. Unfortunately, as you are not writing CMD.EXE you must live with the behavior that someone else has provided.
argvfrom outside of your program at runtime?