OpenNETCF.Desktop.Communication.DLLプログラムセットの使用

3784 ワード

运命は人をいじって、うっかりバーコードの业界に落ちました...
バーコード業界の現在の端末操作通信方式は2種類ある:無線通信、有限通信.端末とPCとERP制御のデータベースのデータ同期はユビキタスネットワークであり、バーコードスキャンなどの操作同期の鍵でもある.
現在、データの同期方法はいくつかありますが、mobile sqlのsdf形式のデータベースをPC上に配置(もちろんコードで操作しました)した後、OpenNETCFが提供する方法でPDAに同期します.俗説的には、データ付きのsdfデータベースをPDAにコピーし、その後、PDA上のプログラムはこのsdfデータベースに対して一連の操作を行うことができます.逆に、PDA上のsdfデータベースをPCに同期し、PC上のプログラムでsdfデータベースを操作することもできます.
OpenNETCF.Desktop.Communication.DLL
このプログラムセットは端末とPC側のファイル転送のAPIを実現し、中の方法は以下の通りである.
Connectはデバイスとの同期接続を確立します.CopyFileFromDeviceは、デバイス内のファイルをPCにコピーします.CopyFileOnDeviceは、デバイスのある場所のファイルをデバイスの別の新しい場所にコピーします.CopyFileToDeviceは、PCのファイルをデバイスにコピーします.CreateDeviceDirectoryはデバイスにディレクトリを作成します.CreateProcessはデバイス内のアプリケーションを起動します.DeleteDeviceFileデバイスからファイルを削除します.DeviceFileExistsデバイスにファイルがあるかどうかを確認します.Disconnectはデバイスへの接続を中断します.EnumFilesは、FileNameパラメータが提供する条件に一致するFileInformationクラス配列のリストを提供します.GetDeviceCapabilitiesは、デバイスの特定のデバイス情報を検索します.GetDeviceFileAttributesは、特定のデバイスファイルのプロパティを取得します.GetDeviceFileSizeは、デバイスファイルのサイズをバイト単位で検索します.GetDeviceFileTimeがデバイスファイルを取得した日時.GetDeviceMemoryStatusデバイスのメモリ使用情報を取得します.GetDeviceSystemFolderPathは、デバイスシステムフォルダへのパスを取得します.GetDeviceSystemInfoはデバイスのシステム詳細を検索します.GetDeviceSystemPowerStatusデバイスの電源ステータスを検索します.GetDeviceVersionデバイスのOSバージョンを取得します.MoveDeviceFileは、既存のデバイスファイルを新しい場所に移動または名前を変更します.RemoveDeviceDirectoryデバイスのディレクトリを削除します.SetDeviceFileAttributesデバイス内のファイルのプロパティを設定します.SetDeviceFileTimeデバイス内のファイルの日時を設定します.上の方法は多く見えますが、実はよく使われているのはいくつかです.コアコードは主にprivate OpenNETCFです.Desktop.Communication.RAPI rApi;
rApi=new rApi();
if(rApi.DevicePresent)/現在のActiveSyncにデバイスがあるかどうかを示す.{rApi.connect();//デバイスの接続開始;rApi.CopyFileFromDevice("d:\ScanData.txt","\\Application\\ScanData.txt",true);//デバイスからD:ディスクにファイルをコピーし、trueは書き換えを表し、falseは書き換えない、}
次に使用例を紹介し、皆さんが一緒に勉強するのに便利です.
 //pc->pda

public static bool DataToTermial(string LocalFile, string RemoteFile)

        {

            RAPI rapi = new RAPI();

            try

            {

               

                rapi.Connect(true, 100);

                if (!rapi.Connected)

                    return false;

                if (rapi.DeviceFileExists(RemoteFile))

                {

                    DialogResult dr;

                    dr = MessageBox.Show("     ,    ?", "  :", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);

                    if (dr == DialogResult.Yes)

                        rapi.DeleteDeviceFile(RemoteFile);

                    else

                        return false;

                }

                rapi.CopyFileToDevice(LocalFile, RemoteFile, true);

                rapi.Disconnect();

                return true;



            }

            catch (RAPIException es)

            {

                MessageBox.Show(es.Message);

                return false;

            }



        }

//pda->pc

        public static bool DataFromTerminal(string LocalFile, string RemoteFile)

        {

            RAPI rapi = new RAPI();

            try

            {

                

                rapi.Connect(true);

                if (!rapi.Connected)

                {

                    return false;

                }



                if (rapi.DeviceFileExists(LocalFile))

                {

                    rapi.CopyFileFromDevice(RemoteFile, LocalFile, true);

                    return true;

                }

                else

                {

                    return false;

                }

            }

            catch (Exception)

            {

                return false;

            }

        }


間違いがあれば、皆さんのご指摘を歓迎します.転載は出典を教えてください.