2009-07-12 13 views
5

क्या कोई ऐसा उपकरण है जो यह कर सकता है? एक वेबसाइट की तरह और एक ही बुनियादी कारणों के लिए?क्या Win32 अनुप्रयोग उपयोग आंकड़ों को इकट्ठा करने के लिए कोई उपकरण है?

अद्यतन --- मैं इकट्ठा करने का अर्थ यह आंकड़े आदि एक आवेदन है कि मैं लिख रहा हूँ मुझे पता है कि क्या विकल्प सबसे इस्तेमाल कर रहे हैं की जरूरत है, जब, समय,

+3

क्या आप कृपया अपने प्रश्न को स्पष्ट कर सकते हैं? तुम क्या ढूंढ रहे हो? आपका क्या मतलब है, "उपयोग"? –

+1

@Jlouro: जरूरी अतिरिक्त विवरण शामिल हैं कि क्या यह आपके द्वारा लिखे गए ऐप के लिए है (यानी आप इस ट्रैकिंग को शामिल करना चाहते हैं) या उसी (या रिमोट?) कंप्यूटर पर मनमाने ढंग से एप्लिकेशन (ओं) के उपयोग की निगरानी करने के लिए। आपका प्रश्न इतना अस्पष्ट है कि यह अनुमान लगाना असंभव है कि आप वास्तव में क्या चाहते हैं। प्रश्न के लिए – Argalatyr

+2

+1।मुझे लगता है कि ओपी यूआई उपयोग आंकड़ों को इकट्ठा करने के समाधान के बारे में पूछ रहा है जैसे "कौन सा मेनू बटन दबाया जाता है, कितनी बार, उन्हें शॉर्टकट द्वारा एक्सेस किया जाता है या" क्लिक करके ".. यह वास्तव में काफी खुलासा होगा (यानी एमएस ने ऐसे आंकड़ों का उपयोग करते समय रिबन यूआई) –

उत्तर

0

के बारे में जानकारी मुझे लगता है आप विंडोज के बारे में बात कर रहे हैं प्रदर्शन काउंटरों

इस link

पर एक नज़र परिणाम

एक लू देखने के लिए विंडोज सिस्टम मॉनिटर (सिस्मॉन) का उपयोग है इस link

पर k डेल्फी

3

मैंने अतीत में ऐसा कुछ किया है।

दो तरीके हैं जिन्हें मैं ऐसा करने के बारे में सोच सकता हूं।

क्रियाओं के साथ :

जब यह TActionList.OnExecute हैंडलर में कोड रखकर यूआई उपयोग पालन करने के लिए बहुत आसान है कार्यों का उपयोग। यह घटना व्यक्तिगत कार्रवाई निष्पादन से पहले बंद हो जाती है जो आपको पता चलती है कि क्या हुआ है और कब।

उदाहरण के लिए:

procedure TForm1.ActionList1Execute(Action: TBasicAction; var Handled: Boolean); 
begin 
    WriteToLog(TAction(TBasicAction).Caption); 
end; 

बिना कार्य:

अपने कार्यों का उपयोग नहीं अगर यह एक छोटे से अधिक कठिन है, लेकिन असंभव नहीं हो जाता है। आपको अपने लॉगिंग कोड के साथ एक TMenuItem वंशज के साथ एक नई इकाई बनाना है। सुनिश्चित करें कि प्रत्येक इकाई में उपयोग इकाई में उपयोग इकाई में एमएनयू इकाई के बाद अपनी नई इकाई को रखना सुनिश्चित करें। इस काम के लिए नए वंशज को टीएमएनयूइटम कहा जाना चाहिए। चूंकि आप अनिवार्य रूप से एक ही कक्षा को फिर से पेश कर रहे हैं लेकिन विस्तारित कार्यक्षमता के साथ।

यहां एक त्वरित इकाई है जिसे मैंने एक बहुत ही सरल उदाहरण दिखाकर एक साथ फेंक दिया।

unit MenuItemLogger; 

interface 

uses Menus; 

Type 
    TMenuItem = class(Menus.TMenuItem) 
    public 
    procedure Click; override; 
    end; 

implementation 

uses windows; 

{ TMenuItem } 

procedure TMenuItem.Click; 
begin 
    outputdebugstring(PWideChar(self.Caption)); 
    inherited; 
end; 

end. 

मेनू (TMainMenu या TPopupMenu) आप पता लगाने के लिए चाहते हैं के साथ किसी भी रूप/DataModule का उपयोग करता है खंड में पिछले इकाई के रूप में यह ऊपर इकाई जगह का उपयोग करें। यदि आप किसी विशेष इकाई का पता नहीं लगाना चाहते हैं तो इसमें शामिल न करें।

uses 
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
    Dialogs, ActnList, Menus, MenuItemLogger; 

ये दो विधियां सरल हैं और जब वे काम करते हैं तो वे शायद सबसे अच्छे समाधान नहीं हैं।

संबंधित मुद्दे