|
|
Comments and Discussions
|
|
 |

|
Hello, thank you for nice class, but it looks like it work only for user which run your application. If it lock file on shared drive, are other users informed about lock? Is something like this possible? Thank you
|
|
|
|

|
Nice Work , But I couldnt Find
any Download on CodePlex Link you provided ! ?
Thanks
|
|
|
|

|
This is exactly what I needed for securing some files. But the thing is that the security can be break easily, so I want to keep the lock even application is closed.
eg.
Application runs, creates and locks some files so that nobody else can use it. And on form closing, unlocks those files and delete 'em as well. But this can be break easily by killing the process using Task Manager. So I'm thinking, is it possible to keep the lock if application get killed by any other process ?
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87֦ʻ6ϣN8ȤBcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKQUFK[M`UKs*$GwU#QDXBER@CBN%
R0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-iTV.C\y<pjxsg-b$f4ia>
-----------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|

|
that is some wicked code man.
|
|
|
|

|
Next version will be even more wicked
|
|
|
|

|
An interesting method would be to wrap the System.Steam class. For example;
Stream() //Ctor
{
FileInUse.Notify(Assembly.GetEntryAssembly().Location);
}
~Stream() //Dtor
{
FileInUse.Denotify(Assembly.GetEntryAssembly().Location);
}
|
|
|
|

|
That's a great idea. In this way it would work like other decorators from System.IO namespace.
Lukasz
|
|
|
|

|
A really good and helpfull article. You've shown me another point of view to one of my old problems.
|
|
|
|

|
Thanks. I'm glad you like it
|
|
|
|
|

|
Hey, how did you learn all the P/Invoke stuff, are you more into C++/Win32 or does it come natural.
PS : This is way better than the button
Sacha Barber
- Microsoft Visual C# MVP 2008
- Codeproject MVP 2008
Your best friend is you.
I'm my best friend too. We share the same views, and hardly ever argue
My Blog : sachabarber.net
|
|
|
|

|
Before I started programming in C#/VB.NET, I used to develop in Visual C++. I am familiar with both Win32 and COM, so it is very helpful when I must use P/Invoke.
PS. Thanks
|
|
|
|

|
Lukasz Swiatkowski wrote: I am familiar with both Win32 and COM
Nice.
I know nothing about Win32, and only some COM stuff. Good stuff to know, to get to know this sort of thing what would you suggest, just learn C++, or is there another route, learning .NET keeps me busy enough, .NET 3.0/3.5 are BIG subjects, and I feel I have only just really got WPF, next is WF for me.
Argghh no time, good article though man, I cant fault your stuff when you do things like this.
How do you find the names of the P/Invoke stuff you need, is is guess work, or do you just know that you had to use User.dll, I'm curious about this...I just dont know P/Invoke so when I see people do stuff like this, I am always curious how they knew that particular method would do this or that.
Sacha Barber
- Microsoft Visual C# MVP 2008
- Codeproject MVP 2008
Your best friend is you.
I'm my best friend too. We share the same views, and hardly ever argue
My Blog : sachabarber.net
|
|
|
|

|
I think that learning C++ is not required to have good knowledge about WinAPI/COM, but creating just a few simple C++ applications from scratch using WinAPI (and maybe a little bit of COM) would be a great experience.
I don't like to guess. If I have to use some WinAPI/COM which I don't know yet, I prefer searching MSDN Library.
Regards,
Lukasz
|
|
|
|

|
Lukasz
Good advice here, I may just do that one day...The point was that how do you know what function to look for in MSDN, the Win32 stuff has function names that dont seem to tie up with what the method actual does...It really is a black art
Sacha Barber
- Microsoft Visual C# MVP 2008
- Codeproject MVP 2008
Your best friend is you.
I'm my best friend too. We share the same views, and hardly ever argue
My Blog : sachabarber.net
|
|
|
|

|
Well... I know many of WinAPI functions and COM interfaces, but when I don't know what to use, I'm searching for samples/tutorials in which I can find those functions/interfaces.
Lukasz
|
|
|
|

|
But how do you know what function/interface to look for, the names are so strange?
Anyway good stuff, from you. Apart from the button I have loved all your other articles, they are CLEVER
Sacha Barber
- Microsoft Visual C# MVP 2008
- Codeproject MVP 2008
Your best friend is you.
I'm my best friend too. We share the same views, and hardly ever argue
My Blog : sachabarber.net
|
|
|
|

|
Regarding Win32 API programming and plain good old C language, there is a "Holly Bible": it is the book Programming Windows by Charles Petzold (the herow). It was and still is the Holly Bible (from the Windows 3 era to present time). Although it covers just the basic APIs (user32, gdi32 and kernel32) and that not so exhaustivelly.
Another good choice, in Delphi language, consists of two books: The Tomes of Delphi 3, Win32 Core API and The Tomes of Delphi 3, Win32 Graphics API. Those two books cover more APIs than Petzold but with a different style.
Regarding COM (oh my), well it depends. You may start searching for the right interfaces, using the OLE/COM Object Viewer from the Microsoft Windows SDK. And then there is always the MSDN, the Win32 and COM Development section.
(There is legendary book though, "Inside Ole 2", but...)
Programming COM with C++ is just a pain. C# makes it easy enough, except of late binding (i.e. Variants and dispinterfaces). And Delphi for Win32 was the best tool I ever used in the area of COM programming.
HTH
--------------------
Theo Bebekis
Thessaloniki, Greece
|
|
|
|

|
Thanks for that man, I actually bought the Petzold one some time back, Ill read it one day. So much to learn with c#/.net, arggghhhh
Sacha Barber
- Microsoft Visual C# MVP 2008-2010
- Codeproject MVP 2008-2010
Your best friend is you.
I'm my best friend too. We share the same views, and hardly ever argue
My Blog : sachabarber.net
|
|
|
|

|
For anyone who wants to study the code of a full blown application written the old hard way, i.e. using just plain C and the Win32 API, handling windows messages, dialog resources, etc. there is the WiZ, the Win32 GUI front end for the excellent Zip and UnZip dlls of the InfoZip team. Their site is at http://www.info-zip.org/[^] (thanks forever guys).
WiZ sources can be found at http://sourceforge.net/projects/infozip/files/WiZ[^]
Just get the file with the .zip extension.
--------------------
Theo Bebekis
Thessaloniki, Greece
|
|
|
|

|
Cool thanks man.
Sacha Barber
- Microsoft Visual C# MVP 2008-2010
- Codeproject MVP 2008-2010
Your best friend is you.
I'm my best friend too. We share the same views, and hardly ever argue
My Blog : sachabarber.net
|
|
|
|
 |
|
|
General News Suggestion Question Bug Answer Joke Rant Admin
Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.
|
How to notify Windows Explorer about which files are used and locked by your application.
| Type | Article |
| Licence | LGPL3 |
| First Posted | 8 May 2008 |
| Views | 38,871 |
| Downloads | 361 |
| Bookmarked | 118 times |
|
|