notepad ++用の独自のプラグインを作成します。プラグインでコンソールを使用する必要がありますが、NppExec プラグインにコンソールがあるため、別のコンソールを作成したくありません。私の質問は、自分のプラグインから NppExec コンソールを使用できますか?
質問する
499 次
1 に答える
0
NppExec フォーラムから回答を得ましたhttps://sourceforge.net/projects/npp-plugins/forums/forum/672146/topic/5287950
上記のリンクから編集された貼り付け:
もちろん!NppExec のソース内の NppExecPluginMsgTester を見て、そのコードの一部または全体を使用できます。NppExecPluginMsgTester は、「NppExec\src\PluginCommunication\nppexec_msgs.h」内で宣言されたメッセージの「ラッパー」を使用します。
NppExec ソース コードの例を次に示します。
#define NPEM_PRINT 0x0401 // message
/*
Prints (shows) given text in NppExec's Console window.
You can separate text lines using _T('\n') or _T("\r\n").
This text can be highlighted if NppExec's Console Highlight Filters are used.
If plugin's state is "busy", this message is ignored.
Example:
const TCHAR* cszMyPlugin = _T("my_plugin");
DWORD dwState = 0;
CommunicationInfo ci = { NPEM_GETSTATE,
cszMyPlugin,
(void *) &dwState };
::SendMessage( hNppWnd, NPPM_MSGTOPLUGIN,
(WPARAM) _T("NppExec.dll"), (LPARAM) &ci );
if ( dwState == NPE_STATEREADY )
{
// the plugin is "ready"
const TCHAR* szText = _T("Hello from my plugin!\n(test message)")
CommunicationInfo ci = { NPEM_PRINT,
cszMyPlugin,
(void *) szText };
::SendMessage( hNppWnd, NPPM_MSGTOPLUGIN,
(WPARAM) _T("NppExec.dll"), (LPARAM) &ci );
}
*/
于 2012-05-20T21:48:34.260 に答える