(57)【特許請求の範囲】
【請求項１】
ユーザの操作行為に基いて解決策をレコメンドする方法であって、
ユーザの第1ウィンドウオブジェクトに対する操作によりトリガーされた第2ウィンドウオブジェクトをモニターし、
前記第2ウィンドウオブジェクトが異常を提示又は警告するための異常ウィンドウである場合、前記第2ウィンドウオブジェクトのテキスト情報を抽出することによって前記異常ウィンドウのタイプを決定し、
前記異常ウィンドウのタイプおよびモニターされたユーザの前記第2ウィンドウオブジェクトに対する操作行為に基いて前記第2ウィンドウオブジェクトに関する問題の解決策をレコメンドする、
ことを特徴とする方法。
【請求項２】
前記第2ウィンドウオブジェクトのテキスト情報を抽出することによって前記異常ウィンドウのタイプを決定するとき、前記方法はさらに、
ウィンドウ・サブコントロールズを列挙することによって前記第2ウィンドウオブジェクトに分布するすべてのテキスト情報を取得し、
前記テキスト情報を識別することにより前記異常ウィンドウのタイプを決定する、
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記ウィンドウ・サブコントロールズを列挙することによって前記第2ウィンドウオブジェクトに分布するすべてのテキスト情報を取得するとき、前記方法はさらに、
前記異常ウィンドウのハンドルにより親ウィンドウのハンドルおよび親ウィンドウの親ウィンドウのハンドルを取得し、
親ウィンドウに属するすべてのオブジェクトおよび親ウィンドウと同一の親ウィンドウに属するすべてのオブジェクトのテーマおよび他の特徴情報を列挙することによって、カレントシーンに関する環境情報を収集する、
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記第2ウィンドウオブジェクトに関する問題の解決策をレコメンドする工程は、
ユーザが第2ウィンドウオブジェクトに対してリトライ操作をするとき、第2ウィンドウを覆う場所においてポップアップ・ウィンドウで前記異常ウィンドウの解決策を表示する、又は、
第2ウィンドウオブジェクトを終了操作するとき、カレント表示画面の特定位置にポップアップ・ウィンドウで前記異常ウィンドウの解決策を表示する、
ことを特徴とする請求項1に記載の方法。
【請求項５】
前記第2ウィンドウオブジェクトに関する問題の解決策を決定する工程は、
前記異常ウィンドウのタイプに基いて、予め保存されたソリューションライブラリから対応する解決策を、前記第2ウィンドウオブジェクトに関する問題を解決するための解決策として決定する工程を含む、
ことを特徴とする請求項1〜4のいずれか１項に記載の方法。
【請求項６】
ユーザの操作行為に基いて解決策をレコメンドする装置であって、
ユーザの第1ウィンドウオブジェクトに対する操作によりトリガーされた第2ウィンドウオブジェクトをモニターするモジュールと、
前記第2ウィンドウオブジェクトが異常を提示又は警告するための異常ウィンドウである場合、前記第2ウィンドウオブジェクトのテキスト情報を抽出することによって前記異常ウィンドウのタイプを決定するモジュールと、
前記異常ウィンドウのタイプおよびモニターされたユーザの前記第2ウィンドウオブジェクトに対する操作行為に基いて前記第2ウィンドウオブジェクトに関する問題の解決策をレコメンドするモジュールと、
を含むことを特徴とする装置。
【請求項７】
前記第2ウィンドウオブジェクトが異常ウィンドウである場合、前記第2ウィンドウオブジェクトのテキスト情報を抽出することによって前記異常ウィンドウのタイプを決定する装置は、
ウィンドウ・サブコントロールズを列挙することによって前記第2ウィンドウオブジェクトに分布するすべてのテキスト情報を取得するサブモジュールと、
前記テキスト情報を識別することによる前記異常ウィンドウのタイプを決定するサブモジュールと、
を含むことを特徴とする請求項6に記載の装置。
【請求項８】
ウィンドウ・サブコントロールズを列挙することによって前記第2ウィンドウオブジェクトに分布するすべてのテキスト情報を取得するサブモジュールは、
前記異常ウィンドウのハンドルにより親ウィンドウのハンドルおよび親ウィンドウの親ウィンドウのハンドルを取得するユニットと、
親ウィンドウに属するすべてのオブジェクトおよび親ウィンドウと同一の親ウィンドウに属するすべてのオブジェクトのテーマおよび他の特徴情報を列挙することにより、カレントシーンに関する環境情報を収集するユニットと、
を含むことを特徴とする請求項7に記載の装置。
【請求項９】
前記異常ウィンドウのタイプおよびモニターされたユーザの前記第2ウィンドウオブジェクトに対する操作行為に基いて前記第2ウィンドウオブジェクトに関する問題の解決策をレコメンドする装置は、
ユーザが第2ウィンドウオブジェクトに対してリトライ操作をするとき、第2ウィンドウを覆う場所においてポップアップ・ウィンドウで前記異常ウィンドウの解決策を表示するサブモジュール又は、
第2ウィンドウオブジェクトを終了操作するとき、カレント表示画面の特定位置にポップアップ・ウィンドウで前記異常ウィンドウの解決策を表示するサブモジュール、
を含むことを特徴とする請求項6に記載の装置。
【請求項１０】
前記異常ウィンドウのタイプおよびモニターされたユーザの前記第2ウィンドウオブジェクトに対する操作行為に基いて前記第2ウィンドウオブジェクトに関する問題の解決策をレコメンドする装置は、
前記異常ウィンドウのタイプおよびモニターされたユーザの前記第2ウィンドウオブジェクトに対する操作行為に基いて、予め保存されたソリューションライブラリから対応する解決策を、前記第2ウィンドウオブジェクトに関する問題を解決するための解決策であると決定するサブモジュール、
を含むことを特徴とする請求項6〜9のいずれか１項に記載の装置。
【請求項１１】
コンピュータコードを含む不揮発性のコンピュータ読取可能な記録媒体であって、前記コンピュータコードが実行される時、請求項1〜5のいずれか１項に記載の方法が実行される不揮発性のコンピュータ読取可能な記録媒体。
【請求項１２】
コンピュータ装置により実行される時、請求項1〜5のいずれか１項に記載の方法が実行されるプログラム製品。
【請求項１３】
メモリーとプロセッサを含むコンピュータ装置であって、前記メモリーにはコンピュータコードが保存され、前記プロセッサは前記コンピュータコードを実行することによって請求項1〜5のいずれか１項に記載の方法を実行するように構成されるコンピュータ装置。
【発明の詳細な説明】
【関連出願の交差引用】
【０００１】
本出願は、2015年1月9日付けで中国特許庁に提出された中国特許出願第201510012093.4の優先権を主張し、その全ての内容を参照して援用する。
【技術分野】
【０００２】
本発明は、コンピュータ技術分野に関し、特にユーザの操作行為に基いて解決策をレコメンドする方法および装置に関する。
【背景技術】
【０００３】
コンピュータの使用中、ユーザが簡単に解決できない問題、例えばファイルの削除エラー、プロセス終了エラー、dll（Dynamic Link Library：ダイナミックリンクライブラリ）の欠如、オペレーティングシステムの進行不能などの不具合が発生したとき、コンピュータの操作に馴染みのないユーザにとって問題を解決するために役立つルートが必要となる。
【０００４】
従来のコンピュータではオペレーティングシステム中に、ヘルプファイルが内蔵され、ユーザがコンピュータの操作中に発生した問題の解決策を提供している。しかし、上記ヘルプファイルはオペレーティングシステムおよびオペレーティングシステムが集積されたソフトウェアに問題が生じたときの解決策のみを含み、第三者ソフトウェアによる問題、又はオペレーティングシステムに発生する未知問題を解決できないため、ユーザの実際の問題と問題の解決策を組み合わせたユーザフレンドリーなサービスを提供できない。
【発明の概要】
【０００５】
本発明が解決しようとする技術課題の一つは、コンピュータの使用中に、ユーザに生じる実際の問題に対応した解決策を提示することでユーザフレンドリーなサービスを提供することである。
【０００６】
本発明の一実施態様においては、ユーザの操作行為に基いた解決策をレコメンドする方法を提供する。具体的には、
ユーザの第1ウィンドウオブジェクトに対する操作によりトリガーされた第2ウィンドウオブジェクトをモニターするステップ、
【０００７】
前記第2ウィンドウオブジェクトが異常ウィンドウである場合、前記第2ウィンドウオブジェクトのテキスト情報を抽出することによって前記異常ウィンドウのタイプを特定するステップ、
【０００８】
及び前記異常ウィンドウのタイプおよびモニターされた前記第2ウィンドウオブジェクトに対するユーザの操作行為に基いて前記第2ウィンドウオブジェクトに対する問題の解決策をレコメンドするステップを含む。
【０００９】
さらに、本発明の他の実施態様においては、ユーザの操作行為に基いて解決策をレコメンドする装置を提供する。具体的には、
ユーザの第1ウィンドウオブジェクトに対する操作によりトリガーされた第2ウィンドウオブジェクトをモニターするモジュール、
【００１０】
前記第2ウィンドウオブジェクトが異常ウィンドウである場合、前記第2ウィンドウオブジェクトのテキスト情報を抽出することによって前記異常ウィンドウのタイプを特定するモジュール、
【００１１】
及び前記異常ウィンドウのタイプおよびモニターされた前記第2ウィンドウオブジェクトに対するユーザの操作行為に基いて前記第2ウィンドウオブジェクトに対応する問題の解決策をレコメンドするモジュールを含む。
本発明の他の実施態様においては、コンピュータコードを含む不揮発性のコンピュータ読取可能な記録媒体であって、前記コンピュータコードが実行される時、前記方法が実行される不揮発性のコンピュータ読取可能な記録媒体を提供する。
本発明の他の実施態様においては、コンピュータ装置により実行される時、前記方法が実行されるプログラム製品を提供する。
本発明の他の実施態様においては、メモリーとプロセッサを含むコンピュータ装置であって、前記メモリーにはコンピュータコードが保存され、前記プロセッサは前記コンピュータコードを実行することによって前記方法を実行するように構成されるコンピュータ装置を提供する。
【００１２】
本実施態様では、ユーザの第1ウィンドウオブジェクトに対する操作によりトリガーされた第2ウィンドウオブジェクトが異常ウィンドウであるか監視し、第2ウィンドウオブジェクトのタイプを特定することにより対応する解決策を決定でき、且つユーザの操作行為に基いてユーザが対応する問題の解決策を得る必要があるか分析し、対応する解決策をユーザに提供できる。これにより、ユーザが自ら手動で解決策を検索する過程は要らなくなり、ユーザフレンドリーなスマートレコメンデーション機能を実現でき、パソコンの使用中に生じた各種の問題を効果的に解決するのに役立ち、ユーザエクスペリエンスを向上させることができる。
【００１３】
以下に、実施例及び図面を参照して詳細に説明するが、本発明はこれらの実施例に限定されるものではない。本発明の技術的範囲は、添付の特許請求の範囲によってのみ限定されるものである。
【図面の簡単な説明】
【００１４】
以下に、図面を参照して本発明の非限定的な実施態様を詳細に説明して、本発明の他の特徴、目的および優れた点をより明確にする。
【図１】本発明の一実施形態によるユーザの操作行為に基いて解決策をレコメンドする方法のフロー図である。
【図２】本発明の他の実施形態によるユーザの操作行為に基いて解決策をレコメンドする方法のフロー図である。
【図３】本発明の一実施形態によるユーザの操作行為に基いて解決策をレコメンドする装置のブロック図である。  図面における同一又は類似する符号は、同一又は類似する部材を示す。
【発明を実施するための形態】
【００１５】
より詳細に実施態様を検討する前に、いくつかの実施態様をフロー図に示すようなプロセス又は方法として記述している。フロー図は処理される各種操作を順番に記載するが、その中の多くの操作は並列、並行又は同時に実行できる。また、各種操作の順番を並べ替えることもできる。その操作が完了するとき、かかるプロセスが終了できる。しかし、図面に含まれていない付加的なステップを有してもよい。前記プロセスは、方法、機能、仕様、サブルーチン、サブプログラム等と対応させることができる。
【００１６】
ここで、「コンピュータ装置」は、「コンピュータ」とも言い、既定のプログラム又はコマンドを実行することにより数値計算および/または論理計算など予め定められた処理手順を実行するスマート電子デバイスを指す。前記「コンピュータ装置」はプロセッサおよびメモリーを含んでもよい。プロセッサによりメモリーに予め保存されたプログラムの命令を実行することによって予め定められた処理手順を実行する、又はASIC、FPGA、DSPなどハードウェアにより予め定められた処理手順を実行する、又は上述の組み合わせにより予め定められた処理手順を実行する。上記「コンピュータ装置」には、サーバー、パソコン、ノートパソコン、ラップトップ、スマートフォンが含まれるが、これらに限定されるものではない。
【００１７】
以下、図面を参照しながら、本発明をより詳細に説明する。
図1は本発明の一実施形態によるユーザの操作行為に基いて解決策をレコメンドする方法のフロー図である。
図１に示されるように、ユーザの操作行為に基いて解決策をレコメンドする方法は以下のステップを含む：
S100、ユーザの第1ウィンドウオブジェクトに対する操作によりトリガーされた第2ウィンドウオブジェクトをモニターする；
【００１８】
S110、上記第2ウィンドウオブジェクトが異常ウィンドウである場合、上記第2ウィンドウオブジェクトのテキスト情報を抽出することによって上記異常ウィンドウのタイプを特定する；
【００１９】
S120、上記異常ウィンドウのタイプおよびモニターされた前記第2ウィンドウオブジェクトに対するユーザの操作行為に基いて前記第2ウィンドウオブジェクトに対する問題の解決策をレコメンドする。
以下、各ステップをより詳細に紹介する。
【００２０】
ステップS100において、コンピュータ装置は、オペレーティングシステムのメッセージプロセッシングメカニズムに基いて、オペレーティングシステムのイベント通知コールバック関数およびマウス・キーボードのグローバルフックを作成し、且つ該イベント通知コールバック関数で作成されたウィンドウオブジェクト以外のウィンドウオブジェクトをフィルター処理するとともに、作成されたウィンドウオブジェクトのメッセージのトリガーをモニターする。
【００２１】
ここで、上記イベント通知コールバック関数とは関数ポインタを通じて呼び出された関数である。該関数ポインタは一つであっても複数であってもよい。各関数ポインタはそれぞれ、ある特定のイベントに向けられる。上記特定のイベントが発生すると、該関数ポインタは対応する関数を呼び出することによって対応する操作をトリガーする。一方、マウス・キーボードのグローバルフックは、キーボード、マウスを通じて作成したイベントに関連する操作行為を取得し、ユーザがユーザの操作行為により生じる問題を解決したか否かを判断するためのものである。
【００２２】
本実施形態において、コンピュータ装置は、イベント通知コールバック関数を用いてイベントのメッセージをモニターする。作成されたイベントがウィンドウオブジェクトであるというメッセージがトリガーされる、即ち第1ウィンドウオブジェクトが作成された後、マウス・キーボードのグローバルフックによりユーザの操作行為をさらに取得する。もし、ユーザがキーボード、又はマウスを通じて第1ウィンドウオブジェクトを操作した後、さらに第2ウィンドウオブジェクトがトリガーされる場合は、ユーザの第1ウィンドウオブジェクトに対する操作により対処できない問題に遭遇する可能性があることを示す。もし、ユーザが第1ウィンドウオブジェクトを操作した後、第2ウィンドウオブジェクトがトリガーされなければ、ユーザの第1ウィンドウオブジェクトに対する操作により、解決策をレコメンドする必要なく、対応する任務が完了したことを示す。
【００２３】
ステップS110において、ユーザの第1ウィンドウオブジェクトに対する操作により第2ウィンドウオブジェクトがトリガーされたことがモニターされると、コンピュータ装置は、まず第2ウィンドウオブジェクトのタイプを決定する。なぜならば、第2ウィンドウオブジェクトのタイプが異常なプロンプト又は警告ウィンドウ（以下、異常ウィンドウという）に属する場合にのみ、ユーザの第1ウィンドウオブジェクトに対する操作が対処できない問題に遭遇することを示すからである。
ここで、選択的に、コンピュータ装置は、第2ウィンドウオブジェクトのタイプを判断するために、以下の方法を採用することができる。
【００２４】
すなわち、ウィンドウ・サブコントロールズを列挙することによって第2ウィンドウオブジェクトに分布したすべてのテキスト情報を取得し、
-上記テキスト情報を識別することにより異常ウィンドウのタイプを決定する。
【００２５】
選択的に、本実施形態において、コンピュータ装置は、取得された第2ウィンドウオブジェクトに記載されたテキスト情報により異なるシーンを初めに識別し、その後、引き続き具体的なシーンの環境情報を取得し、それから、該環境情報に基いて第2ウィンドウオブジェクトに分布したすべてのテキスト情報を取得し、該テキスト情報を識別することによって異常ウィンドウのタイプを決定する。具体的には、コンピュータ装置は以下のステップにより具体的なシーンの環境情報を取得してもよい。
-すなわち、カレントウィンドウオブジェクトのハンドルにより親ウィンドウのハンドルおよび親ウィンドウの親ウィンドウのハンドルを取得し、
【００２６】
その後、親ウィンドウに属するすべてのオブジェクトおよび親ウィンドウと同一の親ウィンドウに属するすべてのオブジェクトのテーマおよび他の特徴情報を列挙することによって、カレントシーンに関する環境情報を収集する。
【００２７】
次に、コンピュータ装置は、取得されたカレントシーンに関する環境情報を利用して、第2ウィンドウオブジェクトに分布したすべてのテキスト情報を取得できる。
【００２８】
ここで、ハンドルとは唯一の整数値を用いてオペレーティングシステム中の異なるオブジェクトおよび同類のオブジェクトにおける異なるインスタンスを識別することであり、例えば、ウィンドウ、ボタン、アイコン、スクロールバー、コントロール又はファイルなどである。ハンドルを分析することによって、コンピュータ装置は、一つのウィンドウのハンドルオブジェクトをいくつかのインスタンスに分け、且つ文字内容を有するインスタンスを識別し、識別された文字内容を第2ウィンドウオブジェクトのテキスト情報としてもよく、その後、異常ウィンドウであるか否かおよび異常ウィンドウのタイプを得ることができる。
【００２９】
ステップS120において、第2ウィンドウオブジェクトが異常ウィンドウであることと異常ウィンドウのタイプを確認した後、コンピュータ装置は、マウス・キーボードのグローバルフックによりユーザの操作行為のモニターを続ける。
【００３０】
例えば、ユーザが第2ウィンドウオブジェクトに対して少なくとも１回のリトライ操作を行い、少なくとも一つの第2ウィンドウオブジェクトがトリガーされ、或いは、第2ウィンドウオブジェクトを閉じて（第2ウィンドウオブジェクトを抹消する）、第１ウィンドウオブジェクトが再度トリガーされた後、ユーザが現状の問題を解決できず、現状の問題の解決策を提供する必要があることを示す。
【００３１】
この場合、コンピュータ装置は異常ウィンドウのタイプに基いて、予め保存されたソリューションライブラリから対応する解決策を上記第2ウィンドウオブジェクトに対応する問題を解決するための解決策として決定でき、その後決定した解決策をユーザに提供する。選択的に、コンピュータ装置は、以下の方法により、決定した解決策をユーザに提供できる。
【００３２】
すなわち、ユーザが第2ウィンドウオブジェクトに対してリトライ操作をするとき、第2ウィンドウを覆う場所に上記異常ウィンドウの解決策をポップアップする、又は、
ユーザが第2ウィンドウオブジェクトを閉じる操作を行うとき、カレント表示画面の特定位置に上記異常ウィンドウの解決策をポップアップする。
【００３３】
以下具体的な実施形態により、本発明のユーザの操作行為に基いて解決策をレコメンドする方法について詳しく説明する。本実施形態ではwindows7オペレーティングシステムを例として、説明を行なう。図2に示すように、該方法は以下のステップを含む。
【００３４】
すなわち、ステップS200において、コンピュータ装置は、イベント通知コールバック関数を作成する。具体的には、コンピュータ装置は、該イベント通知コールバック関数により、Ｗindows7オペレーティングシステム中で作成されたウィンドウオブジェクトをモニターするために使用できる。
【００３５】
本実施形態において、ファイルを削除するときのポップアップ・ウィンドウを特定のウィンドウオブジェクトとして説明を行なう。これは代表例に過ぎない。当業者であれば、プロセス終了エラー、dll欠如、動作中のオペレーティングシステムの進行不能など他の問題の解決策をレコメンドする方法も本発明の保護範囲に含まれることを理解すべきである。明確性のために、それらは、引用によって編入するのみとし、詳細は触れない。
【００３６】
ステップS210において、コンピュータ装置は、オブジェクトクリエイトメッセージを受け取る。具体的には、ファイル削除のポップアップ・ウィンドウが作成されるというメーセージをモニターするとき、コンピュータ装置は、該メーセージを受け取る。
【００３７】
Ｗindows  オペレーティングシステムにおいて、ファイル削除のポップアップ・ウィンドウのタイプは＃32770である。ウィンドウオブジェクトのタイプが＃32770であるクリエイトイベントをモニターするとき、イベント通知コールバック関数により該ウィンドウオブジェクトのタイトルを取得し、該キャプチャーが「ファイルを削除する」であるか否かを判断する。もし、そうである場合、該ウィンドウオブジェクトはユーザのファイル削除によりトリガーされたファイル削除の確認プロンプトウィンドウであり、それ以外は、ポップアップ・ウィンドウの他のタイプである。
【００３８】
ステップS220において、コンピュータ装置は、ウィンドウのタイプを決定する。ユーザがファイル削除のポップアップ・ウィンドウにおいて「確定」を選択すると、コンピュータ装置はファイル削除のシーンに移る。ファイル削除のシーンで、コンピュータ装置は、ウィンドウのテーマ、テキストおよびカレントフォーカルテキストに基いてウィンドウのタイプを決定する。ファイル削除のシーンで、ファイル削除失敗の警告ウィンドウには「ファイルを削除できない」、「フォルダを削除できない」、「ファイル使用中」、「フォルダ使用中」、などテキスト内容が含まれてもよい。コンピュータ装置は上記テキスト内容に基いてウィンドウのタイプを決定できる。もし、ウィンドウのタイプが警告ウィンドウである場合、ステップ230を実行する。ウィンドウのタイプが警告ウィンドウではない場合、ステップ210を実行する。ウィンドウのタイプの決定により、コンピュータ装置は「ファイルを削除する」および「権限昇格」などの非警告ウィンドウをフィルター処理することができ、正確にファイル削除失敗の警告ウィンドウを受け取ることができる。
【００３９】
ステップS230において、コンピュータ装置は、警告ウィンドウのテキストおよび特徴を取得する。ファイル削除失敗の警告ウィンドウがトリガーされたとき、コンピュータ装置は、その前の「ファイルを削除する」という確認プロンプトポップアップ・ウィンドウの前のフォーカルセッティングイベントおよびキーボード、マウスなどのメッセージと連動して削除される一つ又は複数のファイル名リストを取得する。
【００４０】
ステップS240において、コンピュータ装置は具体的なシーンの情報を取得する。具体的には、コンピュータ装置は、ウィンドウを列挙することによってカレントファイルの位置する場所のパスを有するエディットボックスコントロールオブジェクトを見つけ、ファイルパスを取得する。最後に、ファイル名リストとファイルパスを組み合わせて、特定のファイルの削除失敗の完全なシーンとする。
【００４１】
ステップS250において、コンピュータ装置は問題の解決策をレコメンドする。ソリューションライブラリには各種の警告ウィンドウに対する解決策が保存され、一方、「ファイルを削除できない」という警告ウィンドウに対しては、ファイルシュレッダーを用いる。コンピュータ装置は、マウス、キーボードからのメッセージ、およびオブジェクト抹消イベントを通してユーザが「ファイルを削除できない」という警告ウィンドウに対してリトライ操作又は取消し操作を実行したかを判断する。ここで、コンピュータ装置は、トリガーされた同一のパス同一の名称削除失敗のイベントをリトライ操作と判断する。一方、トリガーされた同一のウィンドウハンドルオブジェクト抹消イベントを取消し操作と判断する。もしコンピュータ装置が、ユーザの操作に基いて、リトライ操作と判断する場合、現在のウィンドウを覆うシステムウィンドウをポップアップして、ユーザにファイルシュレッダーを使うことを強く推奨する。取消し操作又は閉じる操作と判断される場合、右下のポップアップ・ウィンドウでファイルシュレッダーが必要あるかをユーザに知らせる。
【００４２】
本実施形態にかかるユーザの操作行為に基いて解決策をレコメンドする方法は、ユーザの第1ウィンドウオブジェクトに対する操作の後、トリガーされた第2ウィンドウオブジェクトが異常ウィンドウであるとモニターするとき、第2ウィンドウオブジェクトのタイプを識別することにより対応する解決策を決定し、ユーザの操作行為による問題に関する解決策をユーザが得る必要があると判断したとき、対応する解決策をユーザに提供する。これにより、ユーザが自ら手動で解決策を検索する必要がなくなる。より重要なのは、ユーザがどのような問題に遭遇したときも、ユーザに解決策をレコメンドするのではなく、ユーザが問題を解決できない場合だけ、ユーザに解決策をレコメンドすることである。これにより、ユーザフレンドリーなスマートレコメンデーション機能を実現でき、コンピュータの使用中に生じる各種の問題を解決するために、ユーザを効果的に支援できるので、ユーザエクスペリエンスを向上させることができる。
【００４３】
図3は本発明の一実施形態によるユーザの操作行為に基いて解決策をレコメンドする装置を示す（以下、「解決策をレコメンドする装置」と略する）。該解決策をレコメンドする装置はコンピュータ装置又はコンピュータ装置における一つの装置であってもよい。
図3に示すように、該該解決策をレコメンドする装置は以下のモジュールを含む。
【００４４】
ユーザの第1ウィンドウオブジェクトに対する操作によりトリガーされた第2ウィンドウオブジェクトをモニターするモジュール（以下、「モニターユニット」と略する）300；
【００４５】
上記第2ウィンドウオブジェクトが異常ウィンドウである場合、上記第2ウィンドウオブジェクトのテキスト情報を抽出することによって、上記異常ウィンドウのタイプを確定するモジュール（以下、「内容抽出ユニット」と略する）310；
【００４６】
上記異常ウィンドウのタイプおよびモニターされたユーザの上記第2ウィンドウオブジェクトに対する操作行為に基いて、上記第2ウィンドウオブジェクトに対応する問題の解決策をレコメンドするモジュール（以下、「レコメンドユニット」と略する）320。
【００４７】
モニターユニット300は、オペレーティングシステムのメッセージプロセッシングメカリズムに基いて、オペレーティングシステムのイベント通知コールバック関数およびマウス・キーボードのグローバルフックを作成し、該イベント通知コールバック関数中のウィンドウオブジェクトを作成する以外のクリエートイベントをフィルター処理するとともに、作成されたウィンドウオブジェクトのメッセージのトリガーをモニターする。
【００４８】
ここで、上記イベント通知コールバック関数とは、関数ポインタにより呼び出される関数のことである。該関数ポインタは一つであっても複数であってもよい。各ポインタは特定のイベントに向けられる。上記特定のイベントが生じると、該関数ポインタは対応する関数を呼び出して対応する操作をトリガーする。一方、マウス・キーボードのグローバルフックは、キーボード、マウスを通じてクリエイトイベントに関する操作行為を取得するために用いられ、その後、ユーザの操作行為によりユーザがすでに発生する問題を解決したか否かを判断する。
【００４９】
本実施形態において、モニターユニット300は、イベント通知コールバック関数を用いてクリエイトイベントのメッセージをモニターする。クリエイトイベントがウィンドウオブジェクトであるというメッセージがトリガーされる、即ち第1ウィンドウオブジェクトが作成されると、マウス・キーボードのグローバルフックによりユーザの操作行為がさらに取得される。もし、ユーザがキーボード、又はマウスにより第1ウィンドウオブジェクトを操作した後、第2ウィンドウオブジェクトがさらにトリガーされれば、ユーザの第1ウィンドウオブジェクトに対する操作により解決できない問題に遭遇した可能性があることを示す。もし、ユーザが第1ウィンドウオブジェクトを操作した後、第2ウィンドウオブジェクトがトリガーされなければ、ユーザの第1ウィンドウオブジェクトに対する操作により、解決策をレコメンドする必要はなく、対応する任務が完了したことを示す。  
【００５０】
ユーザの第1ウィンドウオブジェクトに対する操作により第2ウィンドウオブジェクトがトリガーされたことをモニターしたとき、内容抽出ユニット310は、まず第2ウィンドウオブジェクトのタイプを決定する。なぜならば、第2ウィンドウオブジェクトのタイプが異常プロンプト又は警告ウィンドウ（以下、異常ウィンドウという）に属する場合にのみ、ユーザの第1ウィンドウオブジェクトに対する操作により解決できない問題に遭遇したことを示すからである。
ここで、選択的に、レコメンドユニット320は、以下のモジュールを採用して、第2ウィンドウオブジェクトのタイプを決定することができる：
【００５１】
すなわち、ウィンドウ・サブコントロールズを列挙することによって第2ウィンドウオブジェクトに分布するすべてのテキスト情報を取得するサブモジュール（以下、「情報取得ユニット」と略する）と、
-前記テキスト情報を識別することにより異常ウィンドウのタイプを確定するサブモジュール（以下、「タイプ識別ユニット」と略する）である。
【００５２】
選択的に、本実施形態において、情報取得ユニットは、最初に取得された第2ウィンドウオブジェクトに記載されたテキスト情報から異なるシーンを分別し、その後、具体的なシーンの環境情報を取得し続け、それから、該環境情報に基いて第2ウィンドウオブジェクトに分布するすべてのテキスト情報を取得し、テキスト情報を識別することにより、異常ウィンドウのタイプを決定してもよい。具体的には、情報取得ユニットは以下のユニットにより、具体的なシーンの環境情報を取得できる。
すなわち、上記カレントウィンドウオブジェクトのハンドルにより親ウィンドウのウハンドルおよび親ウィンドウの親ウィンドウのハンドルを取得するユニット、
【００５３】
親ウィンドウに属するすべてのオブジェクトおよび親ウィンドウと同一の親ウィンドウに属するすべてのオブジェクトのテーマおよび他の特徴情報を列挙することにより、カレントシーンに関する環境情報を収集するユニットである。
【００５４】
これにより、情報取得ユニットは、取得されたカレントシーンに関する環境情報を利用して、第2ウィンドウオブジェクトに分布するすべてのテキスト情報を取得することができる。
【００５５】
ここで、ハンドルとは唯一の整数値を用いてオペレーティングシステム中の異なるオブジェクトおよび同類のオブジェクトにおける異なるインスタンスを識別することであり、例えば、ウィンドウ、ボタン、アイコン、スクロールバー、コントロール又はファイルなどである。タイプ識別ユニットがハンドルを分析することによって、一つのウィンドウのハンドルオブジェクトをいくつかのインスタンスに分け、且つ文字内容を有するインスタンスを識別し、識別された文字内容を第2ウィンドウオブジェクトのテキスト情報としてもよく、その後、異常ウィンドウであるか否かおよび異常ウィンドウのタイプを取得することができる。
【００５６】
第2ウィンドウオブジェクトが異常ウィンドウであること及び異常ウィンドウのタイプを確認後、レコメンドユニット320は、引き続きマウス・キーボードのグローバルフックによりユーザの操作行為をモニターする。
【００５７】
レコメンドユニット320が第2ウィンドウオブジェクトは異常ウィンドウであると確定してから、以下のサブモジュールにより対応する解決策を決定することができる。
【００５８】
すなわち、上記異常ウィンドウのタイプに基いて、予め保存されたソリューションライブラリから上記第2ウィンドウに関連する問題を解決するための解決策として対応する解決策を決定するサブモジュールである。
【００５９】
例えば、ユーザが第2ウィンドウオブジェクトに対して少なくとも１回のリトライ操作を行い、且つ少なくとも一つの第2ウィンドウオブジェクトがトリガーされ、或いは、第2ウィンドウオブジェクトを閉じる（第2ウィンドウオブジェクトを抹消する）と同時に第１ウィンドウオブジェクトが再度トリガーされた後、第2ウィンドウオブジェクトがトリガーされ続ける場合、ユーザが現在生じた問題を解決できず、現在生じた問題の解決策を提供する必要があることを示す。
【００６０】
この場合、レコメンドユニット320は、異常ウィンドウのタイプに基いて、予め保存されたソリューションライブラリから上記第2ウィンドウオブジェクトに関する問題を解決するために対応する解決策を決定し、以下のサブモジュールを用いて該解決策をユーザに提供することができる。
【００６１】
すなわち、ユーザが第2ウィンドウオブジェクトに対してリトライ操作をするとき、第2ウィンドウを覆う場所においてポップアップ・ウィンドウで前記異常ウィンドウの解決策を表示するように構成されたサブモジュール又は、
【００６２】
ユーザが第2ウィンドウオブジェクトに対してクローズの操作をするとき、現在表示されているスクリーンの特定の場所にポップアップ・ウィンドウで前記異常ウィンドウの解決策を表示するように構成されたサブモジュールである。
【００６３】
以下具体的な実施形態により、本発明により提供されるユーザの操作行為に基いた解決策をレコメンドする方法について詳細に説明する。本実施形態ではＷindows  オペレーティングシステムを例として、説明を行なう。図2に示すように、該方法は以下のステップを含む。
【００６４】
ステップS200において、コンピュータ装置により、イベント通知コールバック関数が作成される。具体的には、コンピュータ装置は、該イベント通知コールバック関数によりＷindows7オペレーティングシステムで作成されたウィンドウオブジェクトをモニターすることに用いられる。
【００６５】
本実施形態において、ファイルを削除するときのポップアップ・ウィンドウを特定のウィンドウオブジェクトとして説明を行なう。これは代表例に過ぎず、当業者であれば、プロセス終了エラー、dll欠如、オペレーティングシステムの進行不能など他の問題の解決策をレコメンドする方法も本発明の保護範囲含めれることを理解すべきである。明確性のために、それらは、引用によって編入するのみとし、詳細は触れない。
【００６６】
ステップS210において、モニターユニット300はオブジェクトクリエイトメッセージを受け取る。具体的には、ファイル削除のポップアップ・ウィンドウが作成されるというメーセージをモニターするとき、モニターユニット300は、該メーセージを受け取る。
【００６７】
Ｗindows オペレーティングシステムにおけるファイル削除のポップアップ・ウィンドウのタイプは、＃32770である。ウィンドウオブジェクトのタイプが＃32770であるクリエイトイベントをモニターするとき、イベント通知コールバック関数により該ウィンドウオブジェクトのテーマを取得し、該キャプチャーが「ファイルを削除する」であるか否かを判断する。もし、そうである場合、該ウィンドウオブジェクトはユーザのファイル削除によりトリガーされたファイル削除の確認プロンプトウィンドウであり、それ以外は、ポップアップ・ウィンドウの他のタイプである。
【００６８】
ステップS220において、内容抽出ユニットは、ウィンドウのタイプを決定する。ユーザがファイル削除のポップアップ・ウィンドウにおいて「確定」を選択すると、内容抽出ユニットはファイル削除のシーンに移る。ファイル削除のシーンで、内容抽出ユニット310は、ウィンドウのテーマ、テキストおよびカレントフォーカルテキストに基いてウィンドウのタイプを決定する。ファイル削除のシーンで、ファイル削除失敗の警告ウィンドウには「ファイルを削除できない」、「フォルダを削除できない」、「ファイル使用中」、「フォルダ使用中」、などテキスト内容が含まれてもよい。内容抽出ユニット310は上記テキスト内容に基いてウィンドウのタイプを決定できる。もし、ウィンドウのタイプが警告ウィンドウである場合、ステップ230を実行する。ウィンドウのタイプが警告ウィンドウではない場合、ステップ210を実行する。ウィンドウのタイプの決定により、コンピュータ装置は「ファイルを削除する」および「権限昇格」などの非警告ウィンドウをフィルター処理することができ、正確にファイル削除失敗の警告ウィンドウを受け取ることができる。
【００６９】
ステップS230において、内容抽出ユニット310は、警告ウィンドウのテキストおよび特徴を取得する。ファイル削除失敗の警告ウィンドウがトリガーされたとき、内容抽出ユニット310は、その前の「ファイルを削除する」という確認プロンプトポップアップ・ウィンドウの前のフォーカルセッティングイベントおよびキーボード、マウスなどメッセージと連動して、削除される一つ又は複数のファイル名リストを取得する。
【００７０】
ステップS240において、内容抽出ユニット310は具体的なシーンの情報を取得する。具体的には、内容抽出ユニット310はウィンドウを列挙することによってあるカレントファイルの位置する場所のパスを有するエディットボックスコントロールオブジェクトを見つけ、ファイルパスを取得する。最後にファイル名リストとファイルパスを組み合わせて、特定のファイルの削除失敗の完全なシーンとする。
【００７１】
ステップS250において、レコメンドユニット320は問題の解決策をレコメンドする。ソリューションライブラリには各種の警告ウィンドウに対する解決策が保存され、一方、「ファイルを削除できない」という警告ウィンドウに対しては、ファイルシュレッダーを用いる。コンピュータ装置は、マウス、キーボードからのメッセージ、およびオブジェクト抹消イベントを通じて、ユーザが「ファイルを削除できない」という警告ウィンドウに対してリトライ操作又は取消し操作を実行したかを判断する。ここで、レコメンドユニットは、トリガーされた同一のパス同一の名称削除失敗のイベントをリトライ操作と判断する。一方、トリガーされた同一のウィンドウハンドルオブジェクト抹消イベントを取消し操作と判断する。もし、レコメンドユニット320が、ユーザの操作に基いて、リトライ操作と判断する場合、現在のウィンドウを覆うシステムウィンドウをポップアップして、ユーザにファイルシュレッダーを使うことを強く推奨する。取消し操作又は閉じる操作と判断される場合、右下のポップアップ・ウィンドウでファイルシュレッダーが必要あるか否かをユーザに知らせる。
【００７２】
本実施形態にかかるユーザの操作行為に基いて解決策をレコメンドする装置は、ユーザの第1ウィンドウオブジェクトに対する操作の後、トリガーされた第2ウィンドウオブジェクトが異常ウィンドウであるとモニターするとき、第2ウィンドウオブジェクトのタイプを識別により対応する解決案を決定し、ユーザの操作行為による問題に関する解決策をユーザが得る必要があると判断したとき、対応する解決策をユーザに提供する。これにより、ユーザが自ら手動で解決策を検索する必要がなくなる。さらに重要なのは、ユーザがどのような問題に遭遇したときも、ユーザに解決策をレコメンドするのではなく、ユーザが問題を解決できない場合だけ、ユーザに解決策をレコメンドすることである。これにより、ユーザフレンドリーなスマートレコメンデーション機能を実現でき、コンピュータの使用中に生じる各種の問題を解決するのに、ユーザを効果的に支援できるので、ユーザエクスペリエンスを向上させることができる。
【００７３】
本発明はソフトウエアおよび/またはソフトウエアとハードウェアの組合せにより実施されることができる。例えば、本発明のモジュールは、専用集積回路（ASIC）またはその他の類似するハードウェアデバイスによって実現される。一実施形態において、本発明のソフトウエアプログラムはプロセッサーにより上記のステップまたは機能を実行する。同様に、本発明のソフトウエアプログラム（関連データ構造を含む）は、コンピューターで読み取り可能な記憶媒体、例えばＲＡＭ（ランダムアクセスメモリー）、磁気または光学ドライブ或いはフロッピーディスク及び類似するデバイスに保存することができる。さらに、本発明のいくつかのステップ又は機能は、例えば、プロセッサと協働する回路としてのハードウエアにより実現し、各種ステップや機能を実行することができる。
【００７４】
また、本発明の一部はプログラム製品として応用することもできる。例えば、コンピューターにより実行されるとき、該コンピューターの操作を通じて、プログラム指令により、本発明の方法および/または技術案を呼び出す、または提供することができる。本発明の方法を呼び出す指令は、固定型または携行型記憶媒体に保存することができ、および/または放送或いは他の信号媒体によって伝送され、および/または上記プログラム指令に従って運行するコンピューター装置のワーキングメモリに保存することもできる。ここで、本発明の一実施形態にかかる装置は、プログラム指令を記憶するためのメモリと、プログラム指令を実行するためのプロセッサを含む。ここで、プロセッサによって実行されるとき、プログラム指令によって該装置がトリガーされ、上記本発明の各種実施形態にかかる方法および/または技術案を実行する。
【００７５】
当業者にとって、本発明が上記代表的な実施形態に限定されないことは明らかである。さらに、本発明の精神及び基本的な特徴から逸脱しない範囲において、他の形態で本発明を実現することもできる。いずれにしても、実施形態は限定的なものではなく、代表的なものとみなされるべきである。本発明の技術的範囲は上記説明ではなく、添付した特許請求の範囲により限定されるべきである。したがって、特許請求の範囲と同等の構成要件及び範囲におけるあらゆる変化が本発明の開示に包含される。特許請求の範囲中の符号はかかる請求項を限定するものではない。さらに、“含む”という文言は、他のユニット及びステップを除外せず、単数形は複数形を除外するものではない。装置に関する特許請求の範囲に記載の複数のユニット又は手段は、ソフトウエアまたはハードウェアにより単一のユニット又は手段で実現できる。第１、第２などの文言は名称を示すものであり、特定の順番を表すものではない。
【図１】
0006334733.tif 000002
【図２】
0006334733.tif 000003
【図３】
0006334733.tif 000004