It's not currently possible to do that on most systems, take a look at File creation times [LWN.net] | | | | | | | | | File creation times [LWN.net]By Jonathan Corbet July 26, 2010 Linux systems, like the Unix systems that came before, maintain threedifferent timestamps for each file. | | | | Ver en lwn.net | Vista previa por Yahoo | | | | |
Mario Daniel Ruiz Saavedra Estudiante Ing. Sistemas - Universidad del Norte mru...@uninorte.edu.co - twitter.com/desiderantes - joindiaspora.com/u/desiderantes El Sábado, 9 de enero, 2016 8:34:17, raum <r...@no-log.org> escribió: Hi, Problem between windows and linux API, probably... Either you can take a look to one of my project wich worked on linux https://github.com/Raumy/check_fs Regards Le 9 janv. 2016 10:30, Chris Daley <chebiza...@gmail.com> a écrit : > > Hi all, > > One possible solution to this problem that would be Windows only is to > retrieve the file creation date via the Windows API. The following code is > untested as I am still setting up my Winodws VM but you might be able to > try it out in the meantime. You will need to install the Windows SDK if you > haven't already and I assume you are using mingw. A caveat, I haven't used > the Windows API in a long time so you may need to double check the headers > to make sure the function definitions are correct - this is for version > 7.0. I'm assuming it's possible, as the parts of the Windows API you would > be linking to are C libraries and this is more or less how you would do it > in C# but like I said - this is an untested thought experiment that might > be a total NO-OP. The only thing I could find on the internets was from the > mailing list quite a few years back - > http://comments.gmane.org/gmane.comp.programming.vala/2867 - but it does > suggest that this is entirely possible. > > Anyway, the code... > > // All of this is Windows API definitions which could be put into a > separate vapi > > // The CreateFile flag for reading > const int64 GENERIC_READ = 0x80000000; > > // Contains a 64-bit value representing the number of 100-nanosecond > intervals since January 1, 1601 (UTC). > struct FileTime { > // The low-order part of the file time. > int64 dwLowDateTime; > // The high-order part of the file time. > int64 dwHighDateTime; > } > > struct SystemTime { > int64 wYear; > int64 wMonth; > int64 wDayOfWeek; > int64 wDay; > int64 wHour; > int64 wMinute; > int64 wSecond; > int64 wMilliseconds; > } > > [CCode(cheader_filename = "WinBase.h ")] > public extern bool GetFileTime(void* file_handle, > out lpCreationTime, > out lpLastAccessTime, > out lpLastWriteTime > ); > > [CCode(cheader_filename = "WinBase.h ")] > public extern void CreateFile( > string lpFileName, > int64 dwDesiredAccess, > int64 dwShareMode, > void* lpSecurityAttributes, > int64 dwCreationDisposition, > int64 dwFlagsAndAttributes, > void* hTemplateFile > ); > > [CCode(cheader_filename = "WinBase.h ")] > public extern bool FileTimeToSystemTime (FileTime filetime, out SystemTime); > > public static int main (string[] args) { > > void* testfile = CreateFile("./test.vala", GENERIC_READ,0, null, 0, 0, > null); > FileTime time; > bool success = GetFileTime(testfile,out time, null, null); > > if (success) { > SystemTime systime; > FileTimeToSystemTime (time, out systime); > message ("Success: File created on %02d/%02d/%d %02d:%02d", > systime.wMonth, systime.wDay, systime.wYear, systime.wHour, > systime.wMinute); > } else { > message ("Something went wrong"); > } > } > > This would need to be compiled with the right paths set to the Windows SDK > location and linked against Kernel32.lib. > > Like I said, it's untested (yet) and I won't have time until next week to > look at it again, so caveat emptor. If you're wanting to make a nicer > demonstration out of it, you could save the Windows extern functions and > struct definitions to a vapi file - like windows.vapi - to make it look > less complicated (which it is, compared to the C code that would achieve > the same effect). > > Let me know if you have any success. > > Cheers > Chris > > 2016-01-08 12:35 GMT-08:00 Edwin De La Cruz <edwinsp...@gmail.com>: > > > Lametablemente no way? At least not directly using Vala , I understand > > what I have read so far. > > I keep looking for any option , since it was very important for me to > > do in Vala and convince some people that language worth learning ... > > I'll keep looking. > > Mis proyectos de software libre en: > > Github - edwinspire > > > > > > 2016-01-08 9:04 GMT-05:00 Luc Chante <luc.cha...@gmail.com>: > > > Hi, > > > > > > You can test le file a attached to this mail. > > > > > > T _______________________________________________ vala-list mailing list vala-list@gnome.org https://mail.gnome.org/mailman/listinfo/vala-list _______________________________________________ vala-list mailing list vala-list@gnome.org https://mail.gnome.org/mailman/listinfo/vala-list