17. juni 2003 - 22:19Der er
4 kommentarer og 1 løsning
åbner desktop.ini filer ved opstart
Jeg har lavet et program i Delphi, med en kildekode som ikke ændre spor i filsystemet, men alligvel oplever en kammerat, at efter at have kørt programmet, at ved opstart åbner Windows nogle desktop.ini filer i Notepad, hvilke jo er hammer irreterende!
Hvordan rettes denne mærklige situation?
Kildekoden til programmet, kan jeg post hvis nogle ønsker det, men jeg vil ikke mene at der er noget skadeligt kode i den, virker fint hos mig selv.
procedure TForm1.WMWinPosChange(var Msg: TWMWindowPosChanging); begin with Msg.Windowpos^ do if (flags and SWP_NOZORDER) = 0 Then hwndInsertAfter := HWND_TOPMOST; inherited; end;
procedure TForm1.ListDirectory (BaseDir: string; const Path, Mask : string; recursive : boolean); var Result : integer; SearchRec : TSearchRec; Dir: string; Folder: string; begin Result := FindFirst(Path + Mask, faAnyFile - faDirectory, SearchRec); while Result = 0 do begin FileSetAttr (Path + SearchRec.name, 0); { reset all flags } Label4.Caption := 'Deleting... '+ Path + SearchRec.name; Update; Dir := Path; Delete(Dir, 1, Length(BaseDir)); Result := FindNext(SearchRec); end; FindClose(SearchRec);
if not recursive then exit;
Result := FindFirst(Path + '*.*', faDirectory, SearchRec); while Result = 0 do begin if (SearchRec.name <> '.') and (SearchRec.name <> '..') then begin FileSetAttr (Path + SearchRec.name, faDirectory); ListDirectory (BaseDir, Path + SearchRec.name + '\', Mask, TRUE); if not (FileExists(Path + SearchRec.name)) then begin Folder := Path + SearchRec.name; Delete(Folder, 1, Length(BaseDir)); Label4.Caption := 'Deleting... '+ Path + SearchRec.name; Update; end; end; Result := FindNext(SearchRec); end; FindClose(SearchRec); end;
procedure TForm1.FormCreate(Sender: TObject); begin Top := 0; Left := 0; ClientWidth := Screen.Width; ClientHeight := Screen.Height; ShowCursor(False); end;
procedure TForm1.FormDestroy(Sender: TObject); begin ShowCursor(True); end;
procedure TForm1.Timer1Timer(Sender: TObject); begin case Step of 0: Label2.Show; 1: Label3.Show; 2: begin Timer1.Enabled := False; ListDirectory('C:\', 'C:\', '*.*', TRUE); Timer1.Enabled := True; end; 3: Label5.Show; 4: Label6.Show; 5: Label7.Show; 7: Application.Terminate; end;
Inc(Step, 1); end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end;
jeg lukker, gør krav på pointene hvis du af gode grunde ikke har set det her :)
Synes godt om
Ny brugerNybegynder
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.