/* ******************************************************************************** ** ** sample06.c ** ** Copyright 2007 CTC ITOCHU TECHNO-SOLUTIONS Corporation All rights reserved. ** ******************************************************************************** */ /* ====================================================================== 注)none ====================================================================== */ /* ============================================================ */ /* インクルード・ファイル */ #include #include #include #include /* ============================================================ */ /* 関数宣言 */ /* ---------------+-----------------------+------------------------ */ /* 型 | 関数名 | 引数 */ /* ---------------+-----------------------+------------------------ */ /* 情報ウィンドウ表示関数 */ static void fctTest (); /* ============================================================ */ /* ユーザイグジット */ /* NX のメニュー「ファイル」→「UG/openの実行」→「ユーザファンクション」で */ /* 呼び出される。 */ extern DllExport void ufusr( char *parm, int *returnCode, int rlen ) { /* ---------------------------------------- */ /* Open/APIイニシャライズ */ int errorCode = UF_initialize(); if ( 0 == errorCode ) { /* TODO: Add your application code here */ /* ---------------------------------------- */ /* 情報ウィンドウ表示関数 */ fctTest(); /* ---------------------------------------- */ /* Open/API終了 */ errorCode = UF_terminate(); } } /* ============================================================ */ /* ユーザイグジット */ /* 本プログラムが終了する前に呼び出される。 */ extern int ufusr_ask_unload( void ) { return( UF_UNLOAD_IMMEDIATELY ); } /* ============================================================ */ /* 情報ウィンドウ表示関数 */ static void fctTest() { logical lgcOpen = false; UF_system_info_t srcSysInfo; char chrWork[256] = ""; /* ---------------------------------------- */ /* 情報ウィンドウが表示されているか確認します。 */ UF_UI_is_listing_window_open(&lgcOpen); /* ---------------------------------------- */ /* 情報ウィンドウが表示されていなかったらオープンします。 */ if (true == lgcOpen) { /* ウィンドウは開いています。 */ } else { /* ウィンドウは開いていないのでオープンします。 */ UF_UI_open_listing_window(); } /* ---------------------------------------- */ /* システム情報を取得します。 */ UF_ask_system_info(&srcSysInfo); /* ---------------------------------------- */ /* システム情報を情報ウィンドウへ書込みます。 */ /* ---------------------------------------- */ /* 日時 */ sprintf(chrWork, "【日 時】\n\t%s\n", srcSysInfo.date_buf); UF_UI_write_listing_window(chrWork); /* ---------------------------------------- */ /* ユーザ名 */ sprintf(chrWork, "【ユーザ名】\n\t%s\n", srcSysInfo.user_name); UF_UI_write_listing_window(chrWork); /* ---------------------------------------- */ /* マシン名 */ sprintf(chrWork, "【マシン名】\n\t%s\n", srcSysInfo.node_name); UF_UI_write_listing_window(chrWork); /* ---------------------------------------- */ /* CPU */ sprintf(chrWork, "【CPU】\n\t%s\n", srcSysInfo.machine_type); UF_UI_write_listing_window(chrWork); /* ---------------------------------------- */ /* OS名 */ sprintf(chrWork, "【OS名】\n\t%s\n", srcSysInfo.os_name); UF_UI_write_listing_window(chrWork); /* ---------------------------------------- */ /* OSのバージョン */ sprintf(chrWork, "【OSバージョン】\n\t%s\n", srcSysInfo.os_version); UF_UI_write_listing_window(chrWork); /* ---------------------------------------- */ /* 搭載メモリ */ sprintf(chrWork, "【搭載メモリ】\n\t%d\n", srcSysInfo.physical_memory); UF_UI_write_listing_window(chrWork); /* ---------------------------------------- */ /* プログラム名 */ sprintf(chrWork, "【プログラム名】\n\t%s\n", srcSysInfo.program_name); UF_UI_write_listing_window(chrWork); /* ---------------------------------------- */ /* 変数のメモリを開放します。 */ UF_free_system_info(&srcSysInfo); /* ---------------------------------------- */ /* 情報ウィンドウを閉じます。 */ /* 内容はクリアされません。 */ UF_UI_close_listing_window(); /* ---------------------------------------- */ /* 再び情報ウィンドウをオープンします。 */ /* 内容がクリアされていないことを確認します。 */ UF_UI_open_listing_window(); /* ---------------------------------------- */ /* 情報ウィンドウの内容をテキストファイルへ出力します。 */ /* サンプルでは"c:\temp\sample06.txt"へ出力します。 */ UF_UI_save_listing_window("c:\\temp\\sample06.txt"); return; }