What for you need such column? What about 2nd column ("Locked test")?Would you mind to add another column which uses only one letter or several letters to indicate the information?
UnicodeTest/LockedTest
Moderators: Hacker, petermad, Stefan2, white
You should post this idea in new topic, Ghisler don't read here.That is, there is no INIT event or PRE/POST events or usual things all good models have ....
GHSILER should change this.
for instance:
In your procedure T is remembered only once, so after C refresh will be made on each call. I think we should remember T after every system shot.Anyway this is the procedure for now:
The questions:
1. How to list all processes and their locked files? (what handle.exe does) Can you write Delphi example?
2. Can I include Handle.exe into plugin archive?
- majkinetor !
- Power Member
- Posts: 1580
- Joined: 2006-01-18, 07:56 UTC
- Contact:
Of course.... I droped that because it was obvious...In your procedure T is remembered only once, so after C refresh will be made on each call. I think we should remember T after every system shot.
- if (C-T>val) do begin T=Time(); systemshot() end;
It can be done via PSAPI. The function is EnumProcessModules. To iterate through all process use EnumProcesses. Searh for PSAPI functions in MSDN for more details. This is very easy... you don't need examples.1. How to list all processes and their locked files? (what handle.exe does) Can you write Delphi example?
If I find time to write some code anyway, I will post it here.
Of course.... your plug is freeware this up is freeware, it is the same as U copy it to your friends.2. Can I include Handle.exe into plugin archive?
This is replay I got from some guy that have bunch of useful APIs on its site:
- Not possible -- there is no API for that. You'd have to write a file
system filter to keep track of file names for currently open files, at a
minimum, and of current lock status.
Sorry,
Felix.
EDIT: It seems that EnumProcessModules is used to iterate through dlls, not open files... I will check for correct function.
Habemus majkam!
- majkinetor !
- Power Member
- Posts: 1580
- Joined: 2006-01-18, 07:56 UTC
- Contact:
AND WHAT DO YOU SAY FOR THIS NICE REPLAY:
I do know, but since I work for Microsoft, and that information is not public, I cannot tell you. On the other hand, I _can_ point you to Gary Nebbett's book "The Windows NT/2000 Native API Reference" which
discusses, among others, the API that returns the handle table for a process.
But that is not sufficient -- you still won't know which file the handle refers to; that requires a kernel driver (like sysinternals.com's Process Explorer uses).
Sorry,
Felix.
-------------------
Thx God for Emule....

I do know, but since I work for Microsoft, and that information is not public, I cannot tell you. On the other hand, I _can_ point you to Gary Nebbett's book "The Windows NT/2000 Native API Reference" which
discusses, among others, the API that returns the handle table for a process.
But that is not sufficient -- you still won't know which file the handle refers to; that requires a kernel driver (like sysinternals.com's Process Explorer uses).
Sorry,
Felix.
-------------------
Thx God for Emule....



Habemus majkam!
- majkinetor !
- Power Member
- Posts: 1580
- Joined: 2006-01-18, 07:56 UTC
- Contact:
2 Alextp

About other things you mentioned, if I do it I will write plugin myself.
I am aware now of things I should do for this to work.... and why do I need the driver... writing a driver isn't in my definition of fun with TC plugins... maybe hook can do the job, that is easier....
Just use handle.exe and all is cool.
cu.



What do you think Iam doing this 2 days ?Can you try to reserch this question:
I guess I can find the book.. maybe I have it already, it has familiar name...to find book, to write example? Final point: to write a DLL, that I can use.
About other things you mentioned, if I do it I will write plugin myself.
I am aware now of things I should do for this to work.... and why do I need the driver... writing a driver isn't in my definition of fun with TC plugins... maybe hook can do the job, that is easier....
Just use handle.exe and all is cool.
cu.
Habemus majkam!
Users can download handle.exe themselves, no problem.
Just FYI, there are other nice examples of utilities that make use of Sysinternals utilities:
Power Defragmenter GUI uses contig.exe to create a full featured defragger, NTFS Streams Eraser uses streams.exe:
http://www.excessive-software.eu.tt/
Icfu
Just FYI, there are other nice examples of utilities that make use of Sysinternals utilities:
Power Defragmenter GUI uses contig.exe to create a full featured defragger, NTFS Streams Eraser uses streams.exe:
http://www.excessive-software.eu.tt/
Icfu
This account is for sale
I just think since there are only several possible values, I don't need such <-wide-> column to display "Partial Unicode". And if I drag it smaller, two dots come up and it doesn't look nice.Alextp wrote:2KevinMoWhat for you need such column? What about 2nd column ("Locked test")?Would you mind to add another column which uses only one letter or several letters to indicate the information?
And this - "A=ANSI, U=Unicode, P=Partial Unicode, X=Invalid" - is just an example. For lock, emmm, maybe L or K for Lock, F(ree) for Unlock. But I see you're talking about put the locking-app's name for the "lock" column. So it would be totally different then.
PS: Actually, it would be great if people could define these string in an ini file. But I think that will make you too much trouble

- majkinetor !
- Power Member
- Posts: 1580
- Joined: 2006-01-18, 07:56 UTC
- Contact:
so ?Mark Russinovich didn't allow me to include Handle.exe into plugin archive
Anyway, I have a keyword phrase... it is "handle table". It will solve our problems...
The books with info:
- Microsoft® Windows® Internals, Fourth Edition: Microsoft Windows Server™ 2003, Windows XP, and Windows 2000
- Windows NT Native API
Habemus majkam!
2KevinMo
2Majkinetor
Good luck.
I may suggest to edit these strings in .lng file, but this only works if you use language<>English. Otherwise, you should edit .wdx file by hex editor. Search string "ANSI|Partial Unicode|Pure Unicode|Invalid" and replace it by "A|P|U|X" (other chars fill by 0).I just think since there are only several possible values, I don't need such <-wide-> column to display "Partial Unicode". And if I drag it smaller, two dots come up and it doesn't look nice.
2Majkinetor
It's not good to make people goto Winternals site and download Handle.exe.so ?
Anyway, I have a keyword phrase... it is "handle table". It will solve our problems...
Good luck.
- majkinetor !
- Power Member
- Posts: 1580
- Joined: 2006-01-18, 07:56 UTC
- Contact:
When I said "so ?" I didn't mean what you understood.It's not good to make people goto Winternals site and download Handle.exe.
I know.... it was stupid repl(a)y. People who don't support freeware and/or opne source are not to be respected.... even when M.R is in question, aka "most significant MS individual" ( Ohh Your God....)
You are from Moscow, you know better than that....
Also,
I will further continue investigation of those topics we rised here. If I do some code, it will be open.Just FYI, there are other nice examples of utilities that make use of Sysinternals utilities:
Those books are really cool. You should check them if you want detailed information about internal Windows arhitecture.
Habemus majkam!
[quote="Alextp"]2KevinMo
I may suggest to edit these strings in .lng file, but this only works if you use language<>English. Otherwise, you should edit .wdx file by hex editor. Search string "ANSI|Partial Unicode|Pure Unicode|Invalid" and replace it by "A|P|U|X" (other chars fill by 0).
Oh! Yes, yes! thank you very much. It works well. I can put any string I want. Great plugin ^_^
Regards,
Kevin
I may suggest to edit these strings in .lng file, but this only works if you use language<>English. Otherwise, you should edit .wdx file by hex editor. Search string "ANSI|Partial Unicode|Pure Unicode|Invalid" and replace it by "A|P|U|X" (other chars fill by 0).
Oh! Yes, yes! thank you very much. It works well. I can put any string I want. Great plugin ^_^
Regards,
Kevin
2KevinMo
2Icfu
I forgot about other strings: "ANSI", "Partial Unicode" etc (separate from "ANSI|Partial Unicode|etc").Oh! Yes, yes! thank you very much. It works well.
2Icfu
You are right, no difference. Ok, when I'll have time, I'll try to make it.People have also go to WhereIsIt website to download plugins for use with FileDesc, where's the difference?