/* * AUTHOR * N. Nielsen * * LICENSE * This software is in the public domain. * * The software is provided "as is", without warranty of any kind, * express or implied, including but not limited to the warranties * of merchantability, fitness for a particular purpose, and * noninfringement. In no event shall the author(s) be liable for any * claim, damages, or other liability, whether in an action of * contract, tort, or otherwise, arising from, out of, or in connection * with the software or the use or other dealings in the software. * * SUPPORT * Send bug reports to: */ #include "stdafx.h" #include "resource.h" #include #include "replace.h" // ATL Support CComModule _Module; BEGIN_OBJECT_MAP(ObjectMap) END_OBJECT_MAP() // _tWinMain: ------------------------------------------------------------- // Our starting point. Silly name extern "C" int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR /* lpCmdLine */, int /*nShowCmd*/) { // ATL support HRESULT hRes = CoInitialize(NULL); _ASSERTE(SUCCEEDED(hRes)); _Module.Init(ObjectMap, hInstance, NULL); HRESULT hr = S_OK; // Make sure we have something to process if(__argc <= 1) { MessageBox(NULL, _T("Drag and drop files onto this droplet to process them."), _T("Rep Droplet"), MB_OK | MB_ICONINFORMATION); hr = E_FAIL; } else { Replace replace; if(SUCCEEDED(replace.initialize())) { for(int i = 1; i < __argc; i++) { // Process arguments appropriately DWORD attrs = GetFileAttributes(__argv[i]); if(attrs != 0xFFFFFFFF && attrs & FILE_ATTRIBUTE_DIRECTORY) hr = replace.replaceFolder(__argv[i]); else hr = replace.replaceSingleFile(__argv[i]); if(FAILED(hr)) break; } replace.terminate(); } } _Module.Term(); CoUninitialize(); return SUCCEEDED(hr) ? 0 : 1; }