Odczyt daty z nagłówka pliku

0

Witam

Może ktoś wie jak odczytać datę utworzenia pliku z nagłówka pliku .lnk? Data ta jest zapisana w jednym qword czyli 64 bitach. Porównuję, konweruję itd. i nie mogę dojść do żadnych wniosków. Jak wyświetliłem datę systemową w bitach, to nie dość, że zajmuje mniej bitów, to jedno do drugiego nie pasuje.
Drugie moje pytanie dotyczy tego, czy jest to data utworzenia pliku, czy skrótu do tego pliku? Kombinuję na wszystkie sposoby i nie mogę dojść do żadnych wniosków.

1

Plik ink to zwyczajny plik, zatem data utworzenia do data kiedy utworzono plik ink.
Co do odczytu daty utworzenia pliku to masz do dyspozycji http://docs.oracle.com/javase/tutorial/essential/io/fileAttr.html

0

Może sprecyzuję.
Muszę napisać programik, który będzie generował plik skrótu do aplikacji na pulpicie. Patrze się od dwóch dni w hex edytor i analizuję co gdzie jest w tym pliku zapisane. Może ort! jak koń pod górkę, ale nie mam innego pomysłu, jak stworzyć taki plik bajt po bajcie i go zapisać. Problem jest z datą taki, że data systemowa jest jakby za krótka, tzn. nie zapełnia tych 64 bitów.
podaje link do specyfikacji .lnk http://ithreats.files.wordpress.com/2009/05/ms-shllink1.pdf
zapis binarny daty utworzenia pliku:
1010001001101101101010011011010110101000001001001100111000000001
zapis binarny daty dzisiejszej:
10011110110000010111100000111111101010111

plik jest utworzony dzisiaj, różnica między datami (a właściwie czasem w milisekundach) niewielka, więc wydaje mi się, że jakieś podobieństwo być powinno.

0

A musisz to robić ręcznie? Na StackOverflow jest link do obiecującej biblioteki. Nie używałem, ale ogarnięcie jakiejś biblioteki z pewnością będzie szybsze niż grzebanie w HEX-ach.
http://stackoverflow.com/questions/343776/how-do-you-create-and-read-windows-shortcut-lnk-file-in-java
http://stackoverflow.com/questions/309495/windows-shortcut-lnk-parser-in-java

0

Bibliotekę znalazłem, ale mam polecenie odgórne napisać samemu.

0

Witam,

Zgodnie z dokumentacją data jest w formacie FILETIME (A FILETIME structure ([MS-DTYP] section 2.3.1))

Poniżej link do dokumentacji.
http://msdn.microsoft.com/en-us/library/cc230324.aspx

Genrujesz 2 32-bitowe ciagi i je laczysz...

0

Dzięki za pomoc.
Po przeprowadzeniu wielu testów, doszedłem do wniosku, że łatwiej będzie utworzyć nowy skrót i nadpisać stary.
Może ktoś mi podpowiedzieć jak w javie stworzyć plik skrótu windowsowego? Jest na to jakiś prosty sposób, czy trzeba użyć jakiejś dodatkowej biblioteki?

1 użytkowników online, w tym zalogowanych: 0, gości: 1