summaryrefslogtreecommitdiff
path: root/src/misc.c
diff options
context:
space:
mode:
authorjacksonmj <mj-pt@jacksonmj.co.uk>2011-04-06 14:21:42 (GMT)
committer Simon <simon@hardwired.org.uk>2011-04-08 10:10:52 (GMT)
commit4aeac8b316492491f84b9e6ac8b8b9a50e4cb806 (patch)
treec45b740d957b4531018c9494afbd82251b3f4263 /src/misc.c
parent29e41a0a0cfb9a83802fc3a3fe283a6d272b3331 (diff)
downloadpowder-4aeac8b316492491f84b9e6ac8b8b9a50e4cb806.zip
powder-4aeac8b316492491f84b9e6ac8b8b9a50e4cb806.tar.gz
Also register .stm extension in Windows
Diffstat (limited to 'src/misc.c')
-rw-r--r--src/misc.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/misc.c b/src/misc.c
index 09d50f2..3b147bd 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -419,12 +419,9 @@ int register_extension()
#if defined WIN32
LONG rresult;
HKEY newkey;
- char currentfilename[MAX_PATH] = "";
+ char *currentfilename = exe_name();
char *iconname;
char *opencommand;
- if (!GetModuleFileName(NULL, currentfilename, MAX_PATH))
- return 0;
- currentfilename[MAX_PATH-1] = 0;
iconname = malloc(strlen(currentfilename)+6);
opencommand = malloc(strlen(currentfilename)+13);
sprintf(iconname, "%s,-102", currentfilename);
@@ -442,6 +439,17 @@ int register_extension()
}
RegCloseKey(newkey);
+ rresult = RegCreateKeyEx(HKEY_CURRENT_USER, "Software\\Classes\\.stm", 0, 0, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &newkey, NULL);
+ if (rresult != ERROR_SUCCESS) {
+ return 0;
+ }
+ rresult = RegSetValueEx(newkey, 0, 0, REG_SZ, (LPBYTE)"PowderToySave", strlen("PowderToySave")+1);
+ if (rresult != ERROR_SUCCESS) {
+ RegCloseKey(newkey);
+ return 0;
+ }
+ RegCloseKey(newkey);
+
//Create program entry
rresult = RegCreateKeyEx(HKEY_CURRENT_USER, "Software\\Classes\\PowderToySave", 0, 0, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &newkey, NULL);
if (rresult != ERROR_SUCCESS) {