c语言能不能将dos窗口隐藏,不是最小化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言能不能将dos窗口隐藏,不是最小化相关的知识,希望对你有一定的参考价值。

参考技术A 可以这涉及windows程序设计了:获得窗口的startupinfo
结构体,在他的成员里(一个叫什么show的)
设置的,我好像忘记了设置什么
第二个就是发送通过SendMessage函数发送隐藏窗口消息,这个嘛事WINDOWS下的内容我忘记了

滚动背景图像,不能隐藏接缝,c ++ raylib

【中文标题】滚动背景图像,不能隐藏接缝,c ++ raylib【英文标题】:scrolling background image, can't hide seams, c++ raylib 【发布时间】:2021-07-27 14:38:30 【问题描述】:

我正在尝试让滚动背景在背景图像小于程序窗口的情况下工作。为此,我创建了一个 for 循环来移动两组相同的复制图像。

奇怪的是,两组图像一直分开而不是保持在一起,无缝。

这是使用 C++ 和 raylib,但搜索后我不确定这是 raylib 特定的问题。

以下是它们如何分开而不是保持无缝的示例:

代码如下:

        #include "raylib.h"
    
    int main()
    
        //preamble
        const int windowW600;
        const int windowH380;
        float dt0;     // for use with delta time between frames
    
        SetTargetFPS(60);
        InitWindow(windowW, windowH, "walk");
    
        //backgrounds
        Texture2D bg = LoadTexture("textures/far-buildings.png"); // 256 X 192
        const float bgScale0.5;
        const int bgQty2;
        float bgX0.0;
        float bgX2(bg.width * bgScale * bgQty);
    
        while (!WindowShouldClose())
        
            //start drawing
            BeginDrawing();
            ClearBackground(WHITE);
    
            dt = GetFrameTime();
    
            bgX -= 250 * dt;
            bgX2 -= 250 * dt;
    
            if (bgX < -(bg.width * bgScale) * bgQty)
            
                bgX = (bg.width * bgScale) * bgQty;
            
            if (bgX2 < -(bg.width * bgScale) * bgQty)
            
                bgX2 = (bg.width * bgScale) * bgQty;
            
    
            for (int i = 0; i < bgQty; i++)
            
                Vector2 bgPosbgX + ((bg.width * bgScale) * i), 0.0;
                Vector2 bgPos2bgX2 + ((bg.width * bgScale) * i), 0.0;
                DrawTextureEx(bg, bgPos, 0.0, bgScale, WHITE);
                DrawTextureEx(bg, bgPos2, 0.0, bgScale, WHITE);
            
    
            DrawText(FormatText("dt: %f", dt), 3, windowH - 10, 10, GOLD);
            EndDrawing();
        
        UnloadTexture(bg);
        CloseWindow();
    

这是背景图片:

【问题讨论】:

【参考方案1】:

您的代码过于复杂。要获得重复,只需制作一个大于源图像的源矩形(UV 坐标),OpenGL 将重复它。将源矩形设置为与屏幕相同的大小,并在滚动时偏移源矩形原点。

这是一个简单的例子。 https://github.com/JeffM2501/TestFrame/discussions/12

【讨论】:

以上是关于c语言能不能将dos窗口隐藏,不是最小化的主要内容,如果未能解决你的问题,请参考以下文章

怎样用C语言隐藏一个应用程序的窗口??

C语言隐藏窗口

隐藏BAT黑窗口

如何隐藏运行窗口(c语言)

如何检查我的窗口是不是隐藏/可见?

Flutter Desktop:如何隐藏窗口(并使进程保持活动状态)?