in theory i say yes you could but it would take a bit of work.
see, a dll just like a extensions for applications, hence the working for them as application extension.
i haver thought this question and tried but lack the knowledge in WINAPI.
in the theory i think it could be possible.
1 - you would need a source to call the dll twice, one for set-up and one for shut-down, eg clean up
2 - you would need to make a process or thread that the main thread which does everything for the so-posed 'application' and with in that make a GUI and thread to handle input then all the other stuff you want.
so i guess in theory yer you can create a application.
in the attachment is my example of a dll and how to call it.
this was done in Visual Studio c++ 2010
Problem Solution That Never Fails: "Build A Bridge And Get Over It"