打开外部程序

Open external program

我一直在尝试在 C 中打开外部程序,例如编辑器。 我已经搜索了几个小时,但没有找到打开外部可执行文件的方法,例如从控制台应用程序打开 Skype 等。

到目前为止,这是我的代码:

    /* fopen1.c */
#include <Windows.h>
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

int main(int)
{
    FILE *fp;
    fp = fopen("C://Users/Jonte/Desktop/Skype.exe", "r");
}

如何打开外部文件? 谢谢, 真挚地, 贝林

一种可能的方式 -

system("C:\Windows\notepad.exe");

ShellExecute(NULL, "open", "C:\Windows\notepad.exe", NULL, NULL, SW_SHOWDEFAULT);

或使用CreateProcess

VOID startup(LPCTSTR lpApplicationName)
{
  // additional information
  STARTUPINFO si;     
  PROCESS_INFORMATION pi;

  // set the size of the structures
  ZeroMemory( &si, sizeof(si) );
  si.cb = sizeof(si);
  ZeroMemory( &pi, sizeof(pi) );

  // start the program up
  CreateProcess( lpApplicationName,   // the path
  argv[1],        // Command line
  NULL,           // Process handle not inheritable
  NULL,           // Thread handle not inheritable
  FALSE,          // Set handle inheritance to FALSE
  0,              // No creation flags
  NULL,           // Use parent's environment block
  NULL,           // Use parent's starting directory 
  &si,            // Pointer to STARTUPINFO structure
  &pi )           // Pointer to PROCESS_INFORMATION structure
  ) 
  // Close process and thread handles. 
  CloseHandle( pi.hProcess );
  CloseHandle( pi.hThread );
}