/* Chaoji Li Mar 1, 2009 */ #include #include int main(int argc, char *argv[]) { DWORD dwReturn; char *value, *name; HKEY k; name = argv[1]; value = getenv(name); if (ERROR_SUCCESS != RegOpenKeyEx( HKEY_CURRENT_USER, "Environment", 0, KEY_SET_VALUE, &k)) { fprintf(stderr,"export: can not open key for write\n"); exit(1); } if (value) { RegSetValueEx( k, name, 0, REG_SZ, (BYTE*)value, strlen(value)+1); } else { RegDeleteValue(k, name); } RegCloseKey(k); SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM) "Environment", SMTO_ABORTIFHUNG, 5000, &dwReturn); }