Avatar billede neocron Nybegynder
08. maj 2007 - 00:22 Der er 2 kommentarer og
1 løsning

MoveFileEx() i C#

Hej,

Jeg har et lille spørgsmål.
MoveFileEx() kan, i C++, eksempelvis slette filer.

Jeg står og har brug for netop denne funktion - eller i det mindste den funktionalitet som MoveFileEx giver (den sletter filer efter reboot uanset om Windows brokker sig over om den måtte være i brug) men så vidt jeg kan se findes den ikke i C#.

Er der nogen måde man kan gøre således at det kan benyttes?

- Jeg har googlet lidt og fundet en forum kommentar:

"There is not a manged way of doing this, but you can easily call the
MoveFileEx function through the P/Invoke layer."

Kan nogen uddybe dette, evt. med et eksempel? Ville være meget dejligt.
Avatar billede arne_v Ekspert
08. maj 2007 - 02:18 #1
Et lille eksempel til at sætte dig igang:

using System;
using System.Runtime.InteropServices;
                             
namespace E
{
    public class MainClass
    {
        const int MOVEFILE_REPLACE_EXISTING = 1;
        const int MOVEFILE_COPY_ALLOWED = 2;
        const int MOVEFILE_DELAY_UNTIL_REBOOT = 4;
        const int MOVEFILE_WRITE_THROUGH = 8;
        [DllImport("kernel32.dll", SetLastError=true, CharSet=CharSet.Auto)]
        static extern bool MoveFileEx(string lpExistingFileName, string lpNewFileName, int dwFlags);
        public static void Main(string[] args)
        {
            MoveFileEx(@"C:\z.z", @"C:\z.3", MOVEFILE_REPLACE_EXISTING);
            Console.ReadLine();
        }
    }
}
Avatar billede neocron Nybegynder
08. maj 2007 - 14:46 #2
Lækkert, det virker jo fint. Mit formål med funktionen var at gennemtvinge sletning af en fil. Det opnåes ved simpelt at sætte lpNewFileName til null.

Smider du et svar?
Avatar billede arne_v Ekspert
08. maj 2007 - 17:07 #3
svar
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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