質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Q&A

3回答

23043閲覧

スクリーンセーバーの作り方 

退会済みユーザー

退会済みユーザー

総合スコア0

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

0グッド

2クリップ

投稿2015/04/22 20:24

編集2015/04/23 03:29

始めて質問します。
プログラミング初心者なんですが、自分のお気に入りの写真があるので、それでスクリーンセーバーを作ってみようと思っています。
ですが、他のサイトのやつだとなんかいまいち(説明で使ってる機械が古くて、今使ってる環境でどうやって作ればわかんない)で、ここで聞けば一番いい方法が分かるかな?と思っています。

開発環境
OS Windows8.1
開発ソフト Visual Studio community2013

開発言語は問いません。できればさまざまな種類で違うバージョンを作ってみたいです。
お願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tohshima

2015/04/22 23:20

「なんかいまいち」な点が何か明確にしないと、「なんかいまいち」な回答しか得られないと思います。
guest

回答3

0

C#で書いてみました。
マイピクチャ以下に置かれているjpgファイルを5秒間隔でランダムに表示します。
Windows FormsなのでDirectXのような高速表示は出来ませんが、十分実用レベルかと思います。

手順としては
0. ファイル一覧を文字列の配列で取得
0. 一定時間ごとに配列からランダムで一要素を選択
0. PictureBoxコンポーネントに貼り付け
これだけです。

スクリーンセーバーということでマウスカーソルが動いたら終了するようにもしてあります。

lang

1using System; 2using System.IO; 3using System.Windows.Forms; 4 5public partial class ScreenSaverWindow 6 : Form 7{ 8 // 表示する画像を切り替える間隔を指定します。単位は秒。 9 private const int ChangingPictureInterval = 5; 10 // 表示したい画像群を含むフォルダを指定します。 11 private readonly string TargetDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures); 12 13 private System.Threading.Timer timer; 14 private System.Drawing.Point cursorPoint = Cursor.Position; 15 16 public ScreenSaverWindow() 17 { 18 this.InitializeComponent(); 19 } 20 21 private void ShowRandomImage(object imageFiles) 22 { 23 var files = (string[])imageFiles; 24 pictureBox.Invoke((Action)(() => 25 { 26 var rand = new Random(); 27 int index = rand.Next(files.Length); 28 29 pictureBox.ImageLocation = files[index]; 30 })); 31 } 32 33 private void SetQuitHandler(Control control) 34 { 35 control.MouseMove += (sender, e) => 36 { 37 // カーソルが動いたら終了 38 if (e.Location != this.cursorPoint) 39 { 40 this.timer.Dispose(); 41 Environment.Exit(0); 42 } 43 }; 44 } 45 46 private void Form_Load(object sender, EventArgs e) 47 { 48 string[] picFiles = Directory.GetFiles(TargetDirectory, "*.jpg", SearchOption.AllDirectories); 49 50 // 定期的に実行されるスレッドを開始 51 this.timer = new System.Threading.Timer( 52 this.ShowRandomImage, 53 picFiles, 54 TimeSpan.Zero, 55 TimeSpan.FromSeconds(ChangingPictureInterval)); 56 57 this.SetQuitHandler(pictureBox); 58 } 59} 60/// <summary> 61/// フォームのコンポーネントを定義 62/// </summary> 63public partial class ScreenSaverWindow 64 : Form 65{ 66 internal PictureBox pictureBox = new PictureBox(); 67 68 private void InitializeComponent() 69 { 70 this.SuspendLayout(); 71 72 pictureBox.Dock = DockStyle.Fill; 73 pictureBox.SizeMode = PictureBoxSizeMode.Zoom; 74 75 // フルスクリーン化 76 this.FormBorderStyle = FormBorderStyle.None; 77 this.WindowState = FormWindowState.Maximized; 78 this.Controls.Add(pictureBox); 79 80 this.Load += Form_Load; 81 this.ResumeLayout(false); 82 } 83} 84 85static class Program 86{ 87 [STAThread] 88 static void Main() 89 { 90 Application.EnableVisualStyles(); 91 Application.SetCompatibleTextRenderingDefault(false); 92 Application.Run(new ScreenSaverWindow()); 93 } 94}

投稿2015/04/23 08:01

編集2015/04/23 08:27
htsign

総合スコア870

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/04/23 08:11

答えていただきありがとうございました。頑張ってやってみます。
guest

0

言語は”実行ファイル”が作れる言語ならなんでもいいです(*゚∀゚)
簡単な手順↓
1.画像表示ソフトを作る
2.拡張子をexeからscrに変更
3.手順2で作ったものをシステムフォルダに置く(例:c:\windows)
4.スクリーンセーバーの設定画面で作ったものを選ぶ
以上です。

投稿2015/04/23 05:12

come25136

総合スコア258

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/04/23 05:20

お答えいただきありがとうございます。厚かましいようで申し訳ありませんが、後学のために、画像表示ソフトの作り方の詳細な手順を教えていただけると幸いです。
come25136

2015/04/23 13:06

プログラミング初心者ということなので "Visual Studio community2013"は使いませんが "簡単プログラミングなでしこ"というものを使ってみてはいかがでしょうか サンプルコードはネットで調べればいくらでも出てきます 例: "なでしこ 画像表示ソフト"で検索 あとhtsignさんも書いているのですが "マウスカーソルが動いたら終了する"という動作を入れなければなりません 作成頑張ってください(^^♪
guest

0

スライドショーですか?
プログラミングしなくてもいいですよ
どっかのフォルダに使いたい画像を入れ(このフォルダには出したくない画像を入れてはいけない)、
[コントロールパネル]→[デスクトップのカスタマイズ]→[スクリーンセーバーの変更]の手順で行き
スクリーンセーバー(S)内のコンボボックス(コンボボックスで合ってるかな?違うと思うけど)で「写真」をえらび設定ボタンを押し使用する画像の場所の参照ボタンを押し使いたい画像の入っているフォルダを選びOKを押し保存を押しOKを押すだけ。

投稿2015/05/11 09:16

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問