トップページ > 記事閲覧
更新チェック
名前:紋星恵那痔 日時: 2019/08/21 18:10

Googleドライブで公開しているソフトがアップデートされている場合、 メッセージボックスで更新がありますのような表示をさせることは出来ますでしょうか?
メンテ

Page: 1 |

Re: 更新チェック ( No.1 )
名前:管理人 日時:2019/08/21 22:00

DXライブラリにはGoogleドライブにアクセスする機能が無いので出来ません Google API というのを使えばできそうですが、敷居が高そうです よろしければ "Googleドライブ API" というキーワードでネット検索してみてください
メンテ
Re: 更新チェック ( No.2 )
名前:紋星恵那痔 日時:2019/08/24 03:19

解答有難うございます。 DxLibにはGoogleDriveにアクセスする機能がないとのことですが、 Googleドライブでなければ大丈夫でしょうか? 例えば、サーバー上にアップロードしたtxtファイルを読み込ませるといったことはできますでしょうか?
メンテ
Re: 更新チェック ( No.3 )
名前:紋星恵那痔 日時:2019/08/24 03:24

少しわかりにくいと感じたため、補足します。 サーバー上のtxtファイルにバージョン番号を記述しておき、 ソフトを更新した時にそのtxtファイルも更新します。 それをソフト側で読み込ませて、 サーバー上にあるバージョン番号とソフト側のバージョン番号と一致していなければ、 メッセージボックスで「更新があります」のように表示させるといったことは可能でしょうか?
メンテ
Re: 更新チェック ( No.4 )
名前:管理人 日時:2019/08/24 19:34

すみません、Googleドライブでなくても駄目です( ネット上のファイルをダウンロードする機能がありません… ) サーバー上のtxtファイルをダウンロードするだけでしたら、C#であれば簡単に作成することが できると思いますので( C# に WebClient.DownloadFile というそのままの機能があるため )、 C#でファイルをダウンロードするだけのソフトを作成して、そのソフトをC言語の標準関数 system で 実行してファイルをダウンロードする、というのが一番簡単な方法かもしれません よろしければ ”WebClient.DownloadFile ダウンロード”というキーワードでネット検索してみてください
メンテ
Re: 更新チェック ( No.5 )
名前:紋星恵那痔 日時:2019/08/24 22:56

返信ありがとうございます。 >サーバー上のtxtファイルをダウンロードするだけでしたら、C#であれば簡単に作成することが できると思いますので( C# に WebClient.DownloadFile というそのままの機能があるため )、 C#でファイルをダウンロードするだけのソフトを作成して、そのソフトをC言語の標準関数 system で 実行してファイルをダウンロードする、というのが一番簡単な方法かもしれません C#はやったことがありませんがやってみようと思います。 自分でも調べていたところ、Windows APIでOpenInternetというものあるらしく、 それでどうにかならないのかなと思い、 ネットからAPIレベル(バージョン番号)を取得する関数を作ってみたのですが、LNK2019というのがでてしまいます... int FetchGameAPILevel() { HINTERNET hInternet; HINTERNET hFile; char Buf[128]; DWORD ReadSize; BOOL bResult; int res; _tsetlocale(LC_ALL, _TEXT("")); /* WININET初期化 */ hInternet = InternetOpen("WININET Sample Program",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0); /* URLのオープン */ hFile = InternetOpenUrl(hInternet, "(ここにURL)", NULL, 0, INTERNET_FLAG_RELOAD, 0); bResult = InternetReadFile(hFile,Buf,128,&ReadSize); if (bResult == TRUE) { res = atoi(Buf); } else { res = -1; } /* 後処理 */ InternetCloseHandle(hFile); InternetCloseHandle(hInternet); return res; }
メンテ
Re: 更新チェック ( No.6 )
名前:管理人 日時:2019/08/25 00:28

すみません、そういえば Win32API にもインターネット用機能がありましたね、失念していました… > ネットからAPIレベル(バージョン番号)を取得する関数を作ってみたのですが、LNK2019というのがでてしまいます... Wininet.lib をリンクしていないのが原因だと思います、#include などを書いている箇所にでも #pragma comment( lib, "Wininet.lib" ) という記述を追加して Wininet.lib をリンクするようにしてみてください、リンクエラーが無くなると思います
メンテ
Re: 更新チェック ( No.7 )
名前:紋星恵那痔(解決) 日時:2019/08/25 17:42

ありがとうございます! エラー出なくなりました! このコードで正常に動作しているみたいなので、 解決にしておきます。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存