webForumDet fria alternativet

Kopiera filer.

C/C++ur C/C++

11 svar · 300 visningar · startad av RanXeroX

RanXeroXMedlem sedan maj 2000829 inlägg
#1

Hej .. jag har läst lite c++ för typ 2 årsedan.
Jag har inte någon koll alls.

Har varit inne på sidan: http://www.cplusplus.com
Där finns det rätt så bra info.

Jag vill kopiera en fil till en mapp.
Jag vill även starta t.ex internet explorer.

Någon som har några tips, det funkar även bra med en sida att läsa på .

tydalMedlem sedan juni 20034 013 inlägg
RanXeroXMedlem sedan maj 2000829 inlägg
#3

Oki.

Har kollat lite granna, men som jag nämde innan, jag är väldigt färsk. Har kollat på sidan: http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/reference/functions/shellexecute.asp

Där står det att man ska köra detta för att öppna en mapp.
ShellExecute(handle, "explore", <fully_qualified_path_to_folder>, NULL, NULL, SW_SHOWNORMAL);

Jag har provat:
ShellExecute(handle, "explore", C:\Export, NULL, NULL, SW_SHOWNORMAL);

Men den vill inte, måste jag använda mig av Visual Studio c++ för att få detta att snurra ? Jag använder mig av Dev C++, kanske någon include fil som saknas ?

Marcus EMedlem sedan maj 20021 466 inlägg
#4

Prova "C:\\Export" istället.

RanXeroXMedlem sedan maj 2000829 inlägg
#5

Noup.. det funkar inte. Börjar fundera på om det har något med den kompilatorn jag använder, eller om jag måste peka till någon include fil.

Marcus EMedlem sedan maj 20021 466 inlägg
#6

windows.h kan vara bra att inkludera.

RanXeroXMedlem sedan maj 2000829 inlägg
#7

Nu har jag fått det att snurra..

Hittade på en sida att man ska ha #include <windows.h>
Problemet var att jag använde ett \ , måste använda 2 st \ för att det ska bete sig som ett \.

Så här ser det ut:
ShellExecute(NULL, "open", "c:\\tmp\\", NULL, NULL, SW_SHOWNORMAL);

Funkade bra...

RanXeroXMedlem sedan maj 2000829 inlägg
#8

Hej igen

Jo anledningen att jag vill kopiera och starta program är:
Jag har försökt att få en autstart.inf fil att fungera. Har fått det att funka, men inte som jag vill ha det.

Har skrivit i filen:
[autorun]
open=iexplore.exe index.htm

Vill få filen index.htm att starta, problemmet är att den inte startar den från cdskivan, den försöker starta den som en http sida, t.ex http://index.htm. Jag kan peka direkt till cd-skivan, t.ex. d:\index.htm. Men det kan bli problem om man inte har cdrom på d:

Jag laddade ner ett program som heter: ShelRun.exe
Den funkar bra, man skriver:
[autorun]
open=ShelRun.exe index.htm

Då poppar det upp en reklam sida som är uppe i ca 3-5 s. Sedan stängs det ner och sidan öppnas.

Jag ville blir av med den här reklam rutan. Har skapat en .exe fil i c++ (med er hjälp) ser ut så här:

// test

#include <iostream.h>
#include <windows.h>

int main ()
{

ShellExecute(NULL, "open", "index.htm", NULL, NULL, SW_SHOWNORMAL);

return 0;
}

Det funkade bra, en svart ruta öppna upp, stängs så startar sidan.

Nu till frågan!

JO.. när jag startar programet så skriver jag:
program.exe
Men jag skulle villja kunna välja vilken sida jag ska till, t.ex program.exe index2.htm

Har kommit så här långt:

// test

#include <iostream.h>
#include <windows.h>
#include <string.h>

int main ()
{
char sida[20];
cout << "Besok sidan:";
cin >> sida;

ShellExecute(NULL, "open", sida, NULL, NULL, SW_SHOWNORMAL);

return 0;
}

Men då måste jag skriva in sidan, innan den öppnas. Några tips ?

Alpha IIMedlem sedan maj 20002 993 inlägg
#9

[autorun]
open=index.htm

Bara detta borde fungera (tror jag).

Annars:

int main (int argc, char **argv)
{

if (argc==1)
	ShellExecute(NULL, "open", argv[0], NULL, NULL, SW_SHOWNORMAL);

return 0;
}
tydalMedlem sedan juni 20034 013 inlägg
#10

För att slippa den svarta rutan, gör en windowsapplikation istället för console:

#include <windows.h>

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmdLine, int nShow)
{
  if (strlen(lpCmdLine))
  {
    ShellExecute(NULL, "open", lpCmdLine, NULL, NULL, SW_SHOWNORMAL);
  }
  return 0;
}
Marcus EMedlem sedan maj 20021 466 inlägg
#11

RanXeroX skrev:

Nu har jag fått det att snurra..

Hittade på en sida att man ska ha #include <windows.h>
Problemet var att jag använde ett \ , måste använda 2 st \ för att det ska bete sig som ett \.
Funkade bra...

Ja, båda de sakerna stod i mina inlägg. Varför läser du dem inte?

RanXeroXMedlem sedan maj 2000829 inlägg
#12

Marcus E:
Det inlägget där du föreslog \\ missförstod jag dig, sorry.
Att includa windows.h hade jag löst innan jag läste ert inlägg.

Alpha II och Tydl, tackar !! funkar strålande.
Funkar tyvärr inte att peka direkt till index.htm, vill inte starta. Men det här funkar toppen.

Jag får tacka för hjälpen.

138 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)