Avatar billede maqhem Nybegynder
18. januar 2006 - 14:45 Der er 14 kommentarer og
1 løsning

fil der starter når computeren starter

Hvordan laver jeg en C++-fil, der starter hver gang computeren startes? ... også selvom den IKKE ligger i Start-mappen?

... og... Hvordan opretter kalder jeg stien til skrivebordet? Altså, jeg kan jo skrive

C:\Documents and Settings\All Users\Skrivebord, men dette duer da ikke på en engelsk computer, hvor Skrivebord hedder Desktop eller hvordan det nu staves...

På forhånd tak!
Avatar billede ladyhawke Novice
18. januar 2006 - 14:49 #1
du kan lave en nøgle i registreringsdatabasen (CurrentVersion/Run så vidt jeg husker) Så vil windows forsøge at køre den applikation hvergang maskinen starter...
Avatar billede maqhem Nybegynder
18. januar 2006 - 15:00 #2
kan dette gøres med C++? for jeg kan faktisk ikke åbne min registreringsdatabase.
Avatar billede nielle Nybegynder
18. januar 2006 - 15:23 #3
Hvis du går ind i Kontrolpanelet, så kan du opsætte et schedulerings-job ("Planlagte opgaver") på din exe. En af mulighederne er at den skal køres hver gang at du starter computeren eller hver gang at du logger på (hvilket selvf. forudsætter at du har startet computeren ;^)

C++ filen skal være kompileret for at dette giver mening, men du kan jo også opsætte et bat-job som først kompilere C++ filen og derefter køre den.
Avatar billede ladyhawke Novice
18. januar 2006 - 15:29 #4
nøglen i registreringsdatabasen er rimelig nem at skrive i kode, så man kan gøre det som en del af ens program
Avatar billede quiw Nybegynder
18. januar 2006 - 18:29 #5
Har et stykke kode liggende på min anden computer, så hvis du er interesseret kan jeg poste det?
- Gider nemlig ik finde min computer frem hvis du ikke er .. :P
Avatar billede bertelbrander Novice
18. januar 2006 - 19:47 #6
Jeg lavede en gang dette program.
Det får programmet selv til at blive startet af sammen med windows:

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

int main(void)
{
  HKEY hKey;
  char Name[1024];
  GetModuleFileName(0, Name, sizeof(Name));
  std::cout << "MyName is: " << Name << std::endl;

  if(RegCreateKeyEx(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, 0, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0, &hKey, 0) == ERROR_SUCCESS)
  {
      RegSetValueEx(hKey, "NetS", 0, REG_SZ, (BYTE *)Name, strlen(Name) + 1);
      std::cout << "Did write value" << std::endl;
  }
  else
      std::cout << "Failed to write value" << std::endl;
  RegCloseKey(hKey);

  return 0;
}
Avatar billede maqhem Nybegynder
18. januar 2006 - 20:05 #7
Har ikke testet det endnu, men gør det snarest muligt.

Men det ser da flot ud :P
Avatar billede maqhem Nybegynder
19. januar 2006 - 08:47 #8
Nu har jeg testet det, og mindsanten om det ikke virker :D

Super duper! Smid et svar
Avatar billede bertelbrander Novice
19. januar 2006 - 20:04 #9
Jeg samler ikke på point.
Avatar billede maqhem Nybegynder
19. januar 2006 - 20:39 #10
Jamen så er det jo fint. Kan du fortælle mig... Duer dette KUN på én og samme bruger?
Avatar billede maqhem Nybegynder
19. januar 2006 - 20:39 #11
hvis ja, hvordan skal koden så hedde, hvis det skal du til alle brugere?
Avatar billede bertelbrander Novice
19. januar 2006 - 20:53 #12
Det bør virke med alle brugere på maskinen, men jeg har ikke testet.

Du kan prøve med: HKEY_CURRENT_USER eller HKEY_USERS i stedet for HKEY_LOCAL_MACHINE.
Avatar billede maqhem Nybegynder
19. januar 2006 - 21:44 #13
Jeg tester det hurtigst muligt.

Og tak igen!
Avatar billede maqhem Nybegynder
01. februar 2006 - 14:28 #14
hvad faen! Hvor uetisk af mig. Havde glemt jeg tog pointene selv - vil du have 50 skal du skam få dem! Så sig endelig til!
Avatar billede bertelbrander Novice
04. februar 2006 - 00:09 #15
Jeg samler ikke på point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester