Windows10 カスタムURLスキームでネットワーク上のアプリを起動したい

今現在
カスタムURLに社内プログラムを登録しています。
社内プログラムのは共有フォルダにあり、ネットワークドライブ「Z」を割り当てています。

レジストリは以下のように登録しています。

[HKEY_CLASSES_ROOT\〇〇〇\shell\Open\Command]
@="Z:\\社内プログラム\\test\\test.exe %1\\"


今後ZやYなどのネットワークドライブではなくIPアドレスを使いたいという話になりました。
↑のZ部分をIPアドレスに書き換えたのですが、
プログラムが起動いたしません。
@="\\192.168.1.200\\社内プログラム\\test\\test.exe %1\\"

書き方がわるいのでしょうか
もしくは
IPアドレスでの指定ではだめなのでしょうか。

どうぞアドバイスをお願いいたします。

A 回答 (1件)

思いつく可能性は2つあります。



まず、アドレスの前に '\\' がありますが、UNC の指定は '\\' から始まっている必要があり、C string の文法では '\\\\' となるのですが、いかがでしょう?

もう1つ、test.exe がコンソールプログラムとして書かれたものだと、ワーキングディレクトリに UNC を指定することはできません。従って、ネットワークドライブに対してドライブレターを割り付ける必要があります。
    • good
    • 0
この回答へのお礼

どうもありがとうございました。
C string の文法では '\\\\'  が原因でした。
解決いたしました。

お礼日時:2017/05/17 14:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qカスタムビューを重ねて、閉じる

Objective-Cで開発を行っている者です。

ViewControllerにTableViewを乗せ、そこにUIButtonを乗せたカスタムセルを乗せて、ボタンを押すとカスタムUIViewをaddViewする、というアプリを作りました。
後半のカスタムUIViewを出すところは、こちらのページを参考にさせていただきました。http://montan.hateblo.jp/entry/2012/08/21/223335

また、カスタムUIViewにもボタンを置き、それを押すと[self removeFromSuperview];で閉じるようにしました。

ビルドすると、カスタムセルのボタンを押してUIViewを出し、さらにそこのボタンを押してUIViewを閉じるところまでは問題なく動きました。
しかしもう一度セルのボタンを押すと、unrecognized selector sent to instance エラーが出てしまいます。

原因として考えられることはなにがあるでしょうか。
どうかよろしくお願い致します。

Aベストアンサー

No.1,4です。

> 今回の問題を解決するために極力シンプルなプロジェクトをつくっていじっているので、
>見ていただいたコード以外にはCustomViewクラスがあるのみです。
> その中にも、指摘していただいたような箇所は見当たりませんでした・・・。

storyBoardやxibファイル内の各部品のイベント定義で
何か誤ってaddViewメソッドを設定しているようなこともなかったですか?

> 少し自分でも混乱してきたので、一度整理してからもう一度チャレンジしてみたいと思います。

私がやったように、1から新規プロジェクトを生成して、動作するか確認してみると
よいと思います。それが動けば、エラーが出る方と何が違うか比較して問題点を見つけることが
できるはずです。

参考に、私が1から作った手順を示します。
(極力シンプルにするため、No.4回答でコメントした通りpushBtnメソッドは作らず
ViewController内でaddtargetします。また、No.2お礼でaddSubViewをNSLogに
変えても問題が発生するとのことでしたので、CustomViewも作らずNSLogで
ログ出力するだけのものを示します。)

1.Single View Applicationで新しいプロジェクトを作成する。

2.新規ファイル作成メニューで、CustomCellクラス(.h/.m/.xibファイル)を作成する。
設定項目は以下の通り。
「Class」 : CustomCell
「Subclass of」 : UITableViewCell
「Also create XIB file」 : チェックON

3.CustomCell.xibのセル(Content View内)にUIButtonを1個貼付ける。

4.UIButtonのReferencing OutletsをCustomCell.hに接続し、プロパティ名をmyButtonとする。

5.StoryBoardのViewController(View内)にUITableViewを貼付ける。

6.ViewController.hを以下の通りとする。
-------------------------------------------
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController <UITableViewDelegate,UITableViewDataSource>
@property (weak, nonatomic) IBOutlet UITableView *tableView;
@end
-------------------------------------------

7.StoryBoardのUITableViewのReferencing OutletsをViewController.hのtableViewプロパティに接続する。

8.ViewController.mを以下の通りとする。
-------------------------------------------
#import "ViewController.h"
#import "CustomCell.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
[super viewDidLoad];
_tableView.dataSource = self;
_tableView.delegate = self;
[_tableView registerNib:[UINib nibWithNibName:@"CustomCell" bundle:nil] forCellReuseIdentifier:@"Cell"];
}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
[cell.myButton addTarget:self action:@selector(addView:) forControlEvents:UIControlEventTouchUpInside];
return cell;
}

-(void)addView:(id)sender{
NSLog(@"addView");
}
@end
-------------------------------------------

これで実行するとボタンを押すたびにログに「addView」が表示されます。
2回目のタップでエラーが発生するようなことはありません。
これがうまくいくことを確認してからCustomViewを追加すればよいと思います。

No.1,4です。

> 今回の問題を解決するために極力シンプルなプロジェクトをつくっていじっているので、
>見ていただいたコード以外にはCustomViewクラスがあるのみです。
> その中にも、指摘していただいたような箇所は見当たりませんでした・・・。

storyBoardやxibファイル内の各部品のイベント定義で
何か誤ってaddViewメソッドを設定しているようなこともなかったですか?

> 少し自分でも混乱してきたので、一度整理してからもう一度チャレンジしてみたいと思います。

私がやったように、1から新規プロジェ...続きを読む

Qカスタムセル内のLabelの値の取り出し

iOSアプリ開発において解決できない課題が出てきたので、なにかご助言をいただけるとありがたいです。

やりたいことは、TableViewにおいて、タップされたカスタムセル内のラベルの値を取り出す、ということです。
ネット上にこのやり方について説明したページはいくつもあり、その通りに実装してみたのですがうまくいきません。

コードの該当箇所は以下です。

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"CustomCell";
// カスタムセルにキャスト。キャストすることによりカスタムセルのpropertyが使える
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

NSLog(@"%@",cell.label.text);
}

ビルドしてセルをタップすると、どのセルであってもlabelの初期値である"Label"としか出力されないです。
シミュレータでのセルの表示自体は問題ないです。

なにか原因として考えられることがあれば指摘していただけるとありがたいです。
どうかよろしくお願いします。

iOSアプリ開発において解決できない課題が出てきたので、なにかご助言をいただけるとありがたいです。

やりたいことは、TableViewにおいて、タップされたカスタムセル内のラベルの値を取り出す、ということです。
ネット上にこのやり方について説明したページはいくつもあり、その通りに実装してみたのですがうまくいきません。

コードの該当箇所は以下です。

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"CustomC...続きを読む

Aベストアンサー

プロトタイプから新規にテーブルセルを作成して、そのラベルを参照すれば、プロトタイプのテキストが返ってきます。
ちょっと、考えすぎではありませんか?単純に選択した行のテーブルセルを参照するだけでいいのです。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView cellForRowAtIndexPath: indexPath];
NSLog(@"Cell text = %@", cell.textLabel.text);
}

(カスタムセルを使ってないコードなので、適宜書き換えてください)

Q社内Userがいなくなることを簡潔に表現すると

社内Network利用者を一まとめに「user」と呼称しますね。
そのとき、userが新たに加わり、userID登録のトリガー(要因)
をごく簡潔に表現すると「新規user発生」だと思いますが、(違ってますか?)
「退職」「出向元への復元」等で、userを削除するトリガーが発生することを
「userの、、」あとに続く言葉で適切な日本語または外来語はどういったものがあるでしょうか?

「userの消失」(消えてしまうようですっきりしない)
「userの退会」(会社とLANが一体となっているので「退会」はおかしい)

どんな言い回しが適切でしょうか。
外国語でもかまいません。

Aベストアンサー

登録の対が抹消で、発生の対は消滅だと思います。
「ユーザーが発生する」に違和感が無くて、「ユーザが消失する」だけに違和感がありますか?私はどっちも違和感アリ。

加入と脱退でどうでしょうか?

Q社内のブロードバンドルーターがダウンしたことを通知するサービスありますか?

今朝、会社に出社したら、社員から
「社内からインターネットがつながらない」とトラブルの報告を受け、ブロードバンドルーターの電源を抜き差ししたら、復旧しました。

そこで、相談ですが、
外部から、社内のブロードバンドルーターがダウンしていることを、管理者の携帯電話にメールで通知するサービスをご存知の方教えて下さい。

できれば無料のサービスがあればいいのですが、なければ、有料のサービスでも結構です。

Aベストアンサー

法人向けのISPサービスであれば、サービスメニューとして存在するかもしれません。

ISPのサービスを利用しないのであれば、外部 監視 あたりをキーワードに検索すると、沢山出てくると思います。
サービス内容も金額もまちまちなので、どのようなサービスが良いかは
自分で調べてみてください。

QIPアドレスの表示について

パソコンはド素人です。意味が通じなければ補足要求をお願いします。

掲示板の書き込みで今までIPアドレスのようなものの表示がなく、書き込んでいる人が誰か確認できなかったページで、そのような表示が出来るようにした場合、過去の書き込みもIPアドレスが表示できますか?

Aベストアンサー

NO.1です。
2度も投稿して申し訳ありません。
書き込みをされているとの事でしたが、最初にも述べたとおり心配無用です。
ちょっとアレな話ですが「殺す」「燃やす」「爆破する」などの書き込みをしていないならば警察も動きませんし、それにIPアドレスがわかったからといって、一般の人たちにはわかりません。むしろ、警察官だってプロバイダに情報公開されなかったら追跡は不可能なんです。IPアドレスだけでは杞憂な心配です。よく考えてください。表示されて危険なものを表示するような掲示板があるでしょうか?ですから「お前の生IP抜いたぞ。」とかいわれても、いわしといてあげてください。たぶんその方も中途半端な知識が身についただけでなにもできませんからww


人気Q&Aランキング

おすすめ情報