@@ -105,7 +105,7 @@ namespace shellanything
105105 return bRet;
106106 }
107107
108- int PrintStatistics ( )
108+ int PrintProcessSettings ( int argc, char **argv )
109109 {
110110 std::string process_path = ra::process::GetCurrentProcessPath ();
111111 ra::process::processid_t process_id = ra::process::GetCurrentProcessId ();
@@ -116,6 +116,10 @@ namespace shellanything
116116 std::string env_temp = ra::environment::GetEnvironmentVariable (" TEMP" );
117117 bool has_windows_write_access = CanAccessFolder (" C:\\ Windows" , GENERIC_WRITE);
118118
119+ // print to the console
120+ printf (" process.arguments.argc=%d\n " , argc);
121+ for (int i=0 ; i<argc; i++)
122+ printf (" process.arguments.argv[%d]=%s\n " , i, argv[i]);
119123 printf (" process.path=%s\n " , process_path.c_str ());
120124 printf (" process.pid=%d\n " , process_id);
121125 printf (" process.current_dir=%s\n " , process_current_directory.c_str ());
@@ -125,6 +129,25 @@ namespace shellanything
125129 printf (" env.temp=%s\n " , env_temp.c_str ());
126130 printf (" has_windows_write_access=%d\n " , (int )has_windows_write_access);
127131
132+ // print to a file
133+ FILE * f = fopen (" shellanything_unittest.ProcessSettings.txt" , " w" );
134+ if (!f)
135+ return 1 ;
136+
137+ printf (" process.arguments.argc=%d\n " , argc);
138+ for (int i=0 ; i<argc; i++)
139+ fprintf (f, " process.arguments.argv[%d]=%s\n " , i, argv[i]);
140+ fprintf (f, " process.path=%s\n " , process_path.c_str ());
141+ fprintf (f, " process.pid=%d\n " , process_id);
142+ fprintf (f, " process.current_dir=%s\n " , process_current_directory.c_str ());
143+ fprintf (f, " process.architecture=x%d\n " , process_architecture);
144+ fprintf (f, " process.elevated=%d\n " , process_elevated);
145+ fprintf (f, " build.configuration=%s\n " , build_configuration);
146+ fprintf (f, " env.temp=%s\n " , env_temp.c_str ());
147+ fprintf (f, " has_windows_write_access=%d\n " , (int )has_windows_write_access);
148+
149+ fclose (f);
150+
128151 return 0 ;
129152 }
130153
0 commit comments