From 0df815469658a0df4218f131041a9037991db388 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Ankarstr=C3=B6m?= Date: Tue, 3 Nov 2020 13:28:05 +0100 Subject: Add 'default' tool The default program can be used to quickly set the default browser, at least on Windows XP. --- .gitignore | 1 + default/default.c | 31 +++++++++++++++++++++++++++++++ default/default.exe | Bin 0 -> 54272 bytes default/reg/chrome.reg | Bin 0 -> 6910 bytes default/reg/mypal.reg | Bin 0 -> 4768 bytes 5 files changed, 32 insertions(+) create mode 100644 .gitignore create mode 100644 default/default.c create mode 100644 default/default.exe create mode 100644 default/reg/chrome.reg create mode 100644 default/reg/mypal.reg diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..281748d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.obj \ No newline at end of file diff --git a/default/default.c b/default/default.c new file mode 100644 index 0000000..5b75c6e --- /dev/null +++ b/default/default.c @@ -0,0 +1,31 @@ +#include +#include +#include + +#pragma comment(lib, "Shell32.lib") + +int main(int argc, char *argv[]) { + char cmd[500], path[500], *p; + int r; + + if (argc != 2) { + fprintf(stderr, "usage: %s browser\n", argv[0]); + return 1; + } + + r = GetModuleFileNameA(NULL, path, 500); + if (r == 0 || r == 500) { + fprintf(stderr, "Could not get path of executable (%d).\n", GetLastError()); + return 1; + } + + p = path + strlen(path) - 1; + while (*p != '\\') p--; + *p = '\0'; + + sprintf(cmd, "reg import \"%s\\reg\\%s.reg\"", path, argv[1]); + r = system(cmd); + if (r == 0) + SHChangeNotify(SHCNE_ASSOCCHANGED, 0, 0, 0); + return r; +} \ No newline at end of file diff --git a/default/default.exe b/default/default.exe new file mode 100644 index 0000000..79040dd Binary files /dev/null and b/default/default.exe differ diff --git a/default/reg/chrome.reg b/default/reg/chrome.reg new file mode 100644 index 0000000..8c00c8b Binary files /dev/null and b/default/reg/chrome.reg differ diff --git a/default/reg/mypal.reg b/default/reg/mypal.reg new file mode 100644 index 0000000..bcafc08 Binary files /dev/null and b/default/reg/mypal.reg differ -- cgit v1.2.3