【C#備忘記】管理者モードアプリから Adobe Reader を起動できない時の対策

C# のプログラムからPDFファイルを開く場合、あちこちで紹介されている方法で開くことが出来ます。

C#.Netでファイルを開くまたは起動する方法PDF Files?

しかし、管理者モードのアプリの場合は問題があります。有料の Adobe Acrobat DC  なら問題ないのですが、無料の Adobe Acrobat Reader の場合、様子が変わります。

タスクマネージャーで確認すると、起動されているもののフォームが表示されずに停止しているようです。

この対策について、日本語サイトでは見つかりませんでした。

理由としては、管理者モードのアプリから他のアプリを起動すると、そのアプリも管理者になるようです。そのため次の方法を試しました。

  • Adobe Reader アプリにPDFを引数として起動
  • Processクラスで管理者モード指定を無効にして起動
  • 別アプリを作って起動する。
  • バッチファイル経由で起動する。

これらの方法では解決しませんでした。
英語サイト検索の得意な知人が対策方法を見つけてくれました。

How to start a new process without administrator privileges from a process with administrator privileges?

11番目のソースでも起動できたのですが、コンソールが開いてしまうので、美しくないです。
8番目(先日は7番目でした)をちょっと変更することで出来ました。

変更したソースはこんな感じです。

void RunAsDesktopUserLite(string argument)
{
  var proc = new System.Diagnostics.Process
  {
    StartInfo = new System.Diagnostics.ProcessStartInfo
    {
      FileName = “explorer.exe”,
      Arguments = argument,
      UseShellExecute = true,
      Verb = “runas”,
      WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden
    }
  };
  proc.Start();
}

引数の argument にPDFファイルを指定すると、コンソールもエクスプローラも開かずにAdobe Reader で PDF ファイルを開きました。

OSのバージョン、今後の更新で使用できなくなる可能性はありますが、もしお困りの方がおられましたら、お試しください。

 

 

【C#備忘記】コンソールアプリで、コンソールをマウスクリックすると停止する場合の対策

デバッグのためC#でコンソールアプリを作成することが多いのですが、作成したWindowsコンソールアプリのコンソール上をマウスでクリックするとプログラムが一時するようになっているようです。どこに設定があるのか、どのように対策すればいいのか、検索しても見つからず、数年困っていました。ただデバッグ用なのでそれほど念入りに探していたわけではありません。

先日もコンソールアプリを使っていて不便に感じて調べたところ見つかりました。

https://qiita.com/gdofrank/items/64d13e364b773246f72d

コンソールの簡易編集モードが有効になっているからでした。コンソールのプロパティで変更したら停止しないようになりました。

また、C#のプログラムでこの設定を無効にする方法は下記に書かれていました。

https://teratail.com/questions/99011

上記はプログラミング情報サイトのため内容を引用するのは控えさせていただきます。詳細については上記リンク先で確認をお願いします。

上記の2つのサイトの情報提供者に感謝いたします。

ブログデータバックアップツールを更新しました

公開しているソフト ブログデータバックアップツール をこの度更新しました。
数件の方から楽天店長ブログへの対応でできないかと問い合わせがありました。
ブログページの構成が異なるため簡単な変更では対応できず、個別に対応してまいりましたが、限定付きですが楽天店長ブログへの対応を開始しました。

機能面の変更点として
①ブログデータの取得方法を変更し、取得時間を短縮しました。
②ブログサービス内での顔文字のダウンロードに対応しました。(著作権注意)
③保存データの並びが降順固定でしたが降順と切り替えられるようにしました。
④他のブログにインポートしたときに、ステータスを下書きか、公開か選択できるようにしました。
⑤他サイトを参照している画像のダウンロードに対応しました。
⑥限定付きですが、楽天店長ブログ(コメントなし)に対応しました。

また、今まで使用していたインストーラ作成ソフトにおいて実装できない機能があり、フリーウェアですが、商用利用可能な Inno Setup に変更しました。
そのため、セットアップファイルのサイズが大きくなってしました。約2倍です。

また、本ソフトの管理には維持費が少なからずかかっておりますので、支援をお願いすることとしました。バックアップが上手くできた時には、支援をご検討ください。
支払方法に関してはベクターシェアレジと銀行振り込みとなります。ベクターシェアレジについては現在手続き中です。銀行振り込みをご希望の方は、こちらよりご連絡ください。

 

【備忘記】Visual Studio 2019 で それまで使っていた Installer Project が、突然[非互換]と表示されたときの対応

仕事で使用している Visual Studio を 2015 , 2017 ,2019 を使用しています。
Installer Project を使用しているので、それぞれのバージョンで読み込みできるように設定していました。
ところが、昨日 Visual Studio 2019 でソリューションを開くと、Installer Projectで作成したプロジェクトが[非互換]と表示されるようになりました。プロジェクトの右クロックで”再読み込み”をしても、警告のダイアログが出るだけで読み込めません。

そこで、Visual Studio の他のバージョンでも確認したところ、2015 と 2017 では読み込めています。その後、もう一度 Visual Studio 2019 で開いても、やはり[非互換]となります。

仕方ないので、数時間かけてVisual Studio 2019 をアンインストールし、再インストールしてみました。
しかし、それでも変わらず[非互換]と表示されます。”再読み込み”をしても変わらず。

次の行ったことは、Visual Studio Installer Project のアンインストールをして、Visual Studio 2019 用 の Installer Project をインストールしました。インストールは Visual Studio のメニューの「拡張機能の管理」でもできるようですが使っていません。
ソリューションを開くと、同じく[非互換]と表示されましたが、”再読み込み”を行ったところ、読み込みできるようになりました。

Visual Studio 2015 で開くと開けなくなったので、Visual Studio 2015 用のInstaller Project をインストールすると、一旦[非互換]となりますが、”再読み込み”で読み込めるようになりました。

Visual Studio 2017 はその後試したので、どちらで読み込めたか分かりませんが読み込めていました。

後になって振り返ってみましたが、数日前に Visual Studio 2019 の更新をしていました。それが原因だったと思います。

【同じ状態になっている方へ】
私は Visual Studio のアンインストールを最初にしましたが時間がかかるので、Installer Project のアンインストール→再インストールを最初に試してみた方が良いと思います。

18期目を迎えました。

今年2月より世間を騒がせている新型コロナウイルスの事は、大変不安に感じています。感染し、発病し、闘病生活を余儀なくされている方々、心よりお見舞い申し上げます。
1日も早い回復、日常生活への復帰を願いお祈りしております。

4月になり弊社も18期目に入りました。フリーランスから通算すると28年になります。こんなにも長い間続けることが出来ましたこと嬉しく思います。
これも多くの方々のご理解とご協力の賜物です。これからも技術の向上を目指して励みますので、今後ともよろしくお願い致します。

 

楽天市場店長ブログの対応について

現在公開してい「ブログバックアップソフト」について楽天ブログのみ対応としておりますが、楽天市場に出店されているショップの店長ブログについてのバックアップについて問い合わせを数件頂いております。

ブログページの内容を調査したところ、異なる点が全く別のブログという感じでした。

多くの希望者がいれば汎用的に使用できる正式版の開発を進めようと考えておりましたが、この時期でも問い合わせも増えないので汎用版の開発は中止しました。

今後、店長ブログのバックアップを希望される場合には、有償にて個別対応させて頂くこととしました。

希望される場合は、問い合わせページよりお願いいたします。問い合わせの際には現在のブログのURL、移転等検討されている場合は移転先のURLも併せてご連絡ください。

【2020/04/25追記】
現在、公開ソフトを店長ブログ対応する方向で作成を進めています。店長ブログのバックアップを検討されている方は、もうしばらくお待ちください。

ブログバックアップソフトについて

弊社にて開発し、公開してい「ブログバックアップソフト」は、バックアップ機能のないブログをバックアップするために作成しています。
本業が多忙のため、現在は、楽天ブログのみの対応し、他のブログへの対応が遅れています。
対応をお待ちの方がおられましたら、問い合わせよりご連絡頂ければ、検討させていただきます。

また、現在、楽天ショップの店長ブログへの対応のため開発を進めています。
テストの承認を頂いた一部のブログでは、制限つきですが、データの取り込みが出来るようになりました。

他の店長ブログでもテストを行いたいのですが、未承諾でテストすることは失礼と考えており、ダイレクトメール等で問い合わせさせていただきます。バックアップした内容については、本ソフトの動作確認以外の目的には使用しませんので、ご理解頂けましたらご協力をよろしくお願いします。

クリップボード画像自動保存ツールの公開

取説を作る際に画像を一括取得したいときに便利なのが、クリップボード画像を自動保存するプログラムです。
WindowsXPの時にはフリーソフトがいろいろあったのですが、Windows7になり使いやすいものがなかなか見つからず、XP互換モードを使って動作させていましたが、Windows10になり仕方なく自作しました。
興味のある方は使ってみてください。

ダウンロードページはこちらです。

ベクターにも申請しますが、公開まで時間がかかるので少々お待ちください。

ブログデータバックアップソフトのバージョンアップ

ブログデータバックアップソフトを利用いただきありがとうございます。
以前に不具合を報告いただいたのですが、会社の移転に伴う多忙のため修正できずにいました。
ご迷惑をおかけして申し訳ありませんでした。
本日、修正バージョンを公開しました。
修正点は、
外部サイト等に画像を保存している場合に、セキュリティの問題により画像ファイルが保存できない場合がありました。そのため保存ファイル(blog.txt)のURLの差し替えは行わないようにしました。
画像の保存パスに、URLが設定されていると処理が終わらない状態になってしまうので、修正しました。

修正バージョンは、こちらで公開しています。
ブログデータバックアップツール

なおベクターの公開ファイルの更新には時間がかかるので、ベクターからのダウンロードを希望される方は、もうしばらくお待ちください。

2019/5/21 追記
バージョン表示に誤りがあったので修正バージョン 0.6.5 をアップしました。
前回同様、ベクターの公開バージョンは申請済みなので公開まで、しばらくお待ち下さい。

第16期目になりました

弊社も会社法人となって15年を過ぎました。

設立しても多くの企業が数年で廃業すると言われていますが、無事に15年目を迎える事が出来ました。

これも取引先の方々のおかげでもあり、従業員の皆様のご努力の結果を感じております。
現在だけではなく、過去にお世話になった皆様に感謝いたします。