Was ist der richtige Weg, um ShellExecute () in C zu verwenden, um eine TXT-Datei zu öffnen?

Also gut, ich muss eine .txt-Datei öffnen, die in der gleichen Datei wie das Programm erstellt wird.

Ich möchte ShellExecute () verwenden. Um dies zu tun und ich habe eine Menge Forschung darüber gemacht und ich kann einfach nicht scheinen, die Syntax richtig zu machen, meistens, weil ich nicht weiß, was ich mit dem Parameter "HWND" tun soll

ich schauteHier für die Antworten und bekam alle Infos außer was in HWND zu setzen

So brauche ich den verwendeten Code:

ShellExecute(0,"open","c:\\debug.txt",NULL,NULL,1);

Vielen Dank im Voraus für die Hilfe zu fragen, wenn Sie nicht sicher sind, wovon ich spreche! :)

Dies ist das Programm, mit dem ich die Funktion teste:

  #include "DAL.h"
//DAL.h added to Testing file to make compiling easier
//Created to test show_debug()
int main(void)
{
  int test1,test2,final;

  puts("Enter 2 numbers to add (2,2)");
  scanf("%d,%d",&test1,&test2);

  log_debug(test1);
  log_debug(test2);

  view_debug();

  final= test1+test2;
  printf("%d\n",final);

  log_debug(final);

  return(0);
}

view_debug (); ist die Funktion, die ShellExecute enthält

void view_debug(void)//WIP
//Opens the debug.txt in notepad
{
    LoadLibrary( "shell32.dll" );
    ShellExecute(0,"open","c:\\debug.txt",NULL,NULL,1);
}

Das ist log_debug ();

int log_debug(int test_variable)
//This function simply tests the programmers desired veriable & displays it for help in keeping track of a veriables value(integer).
//The function has support for upto 1 variable for testing
{
    time_t now;
    time(&now);

    FILE *debug; //Creates file to write debug info

    debug=fopen("debug.txt", "a+");
    fprintf(debug,"DEBUG %.24s: <%d>\n", ctime(&now),test_variable);
    //TODO: Allow more than one variable

    fclose(debug);

    return(0);
}

Die Datei wird mit der Funktion log_debug () erstellt. und es funktioniert, muss aber manuell geöffnet werden, da ShellExecute nicht funktioniert.

Vollständige QuelleHier.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage